View | Details | Raw Unified | Return to bug 24718
Collapse All | Expand All

(-)a/api/v1/swagger/definitions/hold.yaml (-2 / +2 lines)
Lines 11-17 properties: Link Here
11
    type:
11
    type:
12
      - string
12
      - string
13
      - "null"
13
      - "null"
14
    format: date
14
    format: date-time
15
    description: The date the hold was placed
15
    description: The date the hold was placed
16
  biblio_id:
16
  biblio_id:
17
    type: integer
17
    type: integer
Lines 77-83 properties: Link Here
77
    type:
77
    type:
78
      - string
78
      - string
79
      - "null"
79
      - "null"
80
    format: date
80
    format: date-time
81
    description: The date the hold expires
81
    description: The date the hold expires
82
  lowest_priority:
82
  lowest_priority:
83
    type: boolean
83
    type: boolean
(-)a/api/v1/swagger/paths/holds.yaml (-3 / +3 lines)
Lines 19-25 Link Here
19
        in: query
19
        in: query
20
        description: Hold
20
        description: Hold
21
        type: string
21
        type: string
22
        format: date
22
        format: date-time
23
      - name: biblio_id
23
      - name: biblio_id
24
        in: query
24
        in: query
25
        description: Internal biblio identifier
25
        description: Internal biblio identifier
Lines 154-160 Link Here
154
              type:
154
              type:
155
                - string
155
                - string
156
                - "null"
156
                - "null"
157
              format: date
157
              format: date-time
158
            item_id:
158
            item_id:
159
              description: Internal item identifier
159
              description: Internal item identifier
160
              type:
160
              type:
Lines 168-174 Link Here
168
              type:
168
              type:
169
                - string
169
                - string
170
                - "null"
170
                - "null"
171
              format: date
171
              format: date-time
172
            notes:
172
            notes:
173
              description: Notes related to this hold
173
              description: Notes related to this hold
174
              type:
174
              type:
(-)a/t/db_dependent/api/v1/holds.t (-7 / +8 lines)
Lines 159-165 my $post_data = { Link Here
159
    biblio_id         => $biblio_1->biblionumber,
159
    biblio_id         => $biblio_1->biblionumber,
160
    item_id           => $item_1->itemnumber,
160
    item_id           => $item_1->itemnumber,
161
    pickup_library_id => $branchcode,
161
    pickup_library_id => $branchcode,
162
    expiration_date   => output_pref( { dt => $expiration_date, dateformat => 'iso', dateonly => 1 } ),
162
    expiration_date   => output_pref( { dt => $expiration_date, dateformat => 'iso' } ),
163
};
163
};
164
my $patch_data = {
164
my $patch_data = {
165
    priority        => 2,
165
    priority        => 2,
Lines 254-260 subtest "Test endpoints with permission" => sub { Link Here
254
    $t->get_ok( "//$userid_1:$password@/api/v1/holds?patron_id=" . $patron_1->borrowernumber )
254
    $t->get_ok( "//$userid_1:$password@/api/v1/holds?patron_id=" . $patron_1->borrowernumber )
255
      ->status_is(200)
255
      ->status_is(200)
256
      ->json_is('/0/hold_id', $reserve_id)
256
      ->json_is('/0/hold_id', $reserve_id)
257
      ->json_is('/0/expiration_date', output_pref({ dt => $expiration_date, dateformat => 'iso', dateonly => 1 }))
257
      ->json_is('/0/expiration_date', output_pref({ dt => $expiration_date, dateformat => 'iso' }))
258
      ->json_is('/0/pickup_library_id', $branchcode);
258
      ->json_is('/0/pickup_library_id', $branchcode);
259
259
260
    $t->post_ok( "//$userid_3:$password@/api/v1/holds" => json => $post_data )
260
    $t->post_ok( "//$userid_3:$password@/api/v1/holds" => json => $post_data )
Lines 322-336 subtest 'test AllowHoldDateInFuture' => sub { Link Here
322
322
323
    $dbh->do('DELETE FROM reserves');
323
    $dbh->do('DELETE FROM reserves');
324
324
325
    my $future_hold_date = DateTime->now->add(days => 10)->truncate( to => 'day' );
325
    my $future_hold_date = DateTime->now->add(days => 10);
326
326
327
    my $post_data = {
327
    my $post_data = {
328
        patron_id         => $patron_1->borrowernumber,
328
        patron_id         => $patron_1->borrowernumber,
329
        biblio_id         => $biblio_1->biblionumber,
329
        biblio_id         => $biblio_1->biblionumber,
330
        item_id           => $item_1->itemnumber,
330
        item_id           => $item_1->itemnumber,
331
        pickup_library_id => $branchcode,
331
        pickup_library_id => $branchcode,
332
        expiration_date   => output_pref( { dt => $expiration_date,  dateformat => 'iso', dateonly => 1 } ),
332
        expiration_date   => output_pref( { dt => $expiration_date,  dateformat => 'iso' } ),
333
        hold_date         => output_pref( { dt => $future_hold_date, dateformat => 'iso', dateonly => 1 } ),
333
        hold_date         => output_pref( { dt => $future_hold_date, dateformat => 'iso' } ),
334
    };
334
    };
335
335
336
    t::lib::Mocks::mock_preference( 'AllowHoldDateInFuture', 0 );
336
    t::lib::Mocks::mock_preference( 'AllowHoldDateInFuture', 0 );
Lines 340-345 subtest 'test AllowHoldDateInFuture' => sub { Link Here
340
      ->json_has('/error');
340
      ->json_has('/error');
341
341
342
    t::lib::Mocks::mock_preference( 'AllowHoldDateInFuture', 1 );
342
    t::lib::Mocks::mock_preference( 'AllowHoldDateInFuture', 1 );
343
    t::lib::Mocks::mock_preference( 'HourBasedHolds', 1 );
344
    t::lib::Mocks::mock_preference( 'dateformat', 'rfc3339' );
343
345
344
    # Make sure pickup location checks doesn't get in the middle
346
    # Make sure pickup location checks doesn't get in the middle
345
    my $mock_biblio = Test::MockModule->new('Koha::Biblio');
347
    my $mock_biblio = Test::MockModule->new('Koha::Biblio');
Lines 349-355 subtest 'test AllowHoldDateInFuture' => sub { Link Here
349
351
350
    $t->post_ok( "//$userid_3:$password@/api/v1/holds" => json => $post_data )
352
    $t->post_ok( "//$userid_3:$password@/api/v1/holds" => json => $post_data )
351
      ->status_is(201)
353
      ->status_is(201)
352
      ->json_is('/hold_date', output_pref({ dt => $future_hold_date, dateformat => 'iso', dateonly => 1 }));
354
      ->json_is('/hold_date', output_pref({ dt => $future_hold_date, dateformat => 'iso' }));
353
};
355
};
354
356
355
$schema->storage->txn_rollback;
357
$schema->storage->txn_rollback;
356
- 

Return to bug 24718