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

(-)a/Koha/REST/V1/Checkout.pm (+1 lines)
Lines 187-192 sub expanded { Link Here
187
187
188
        $checkout->{'renewable'} = $can_renew
188
        $checkout->{'renewable'} = $can_renew
189
        ? Mojo::JSON->true : Mojo::JSON->false;
189
        ? Mojo::JSON->true : Mojo::JSON->false;
190
        $checkout->{'renewability_error'} = $error;
190
    }
191
    }
191
192
192
    return $c->render( status => 200, openapi => $checkouts_json );
193
    return $c->render( status => 200, openapi => $checkouts_json );
(-)a/api/v1/swagger/definitions/checkoutexpanded.json (+4 lines)
Lines 8-13 Link Here
8
      "type": "boolean",
8
      "type": "boolean",
9
      "description": "renewability status"
9
      "description": "renewability status"
10
    },
10
    },
11
    "renewability_error": {
12
      "type": ["string", "null"],
13
      "description": "renewability error code"
14
    },
11
    "max_renewals": {
15
    "max_renewals": {
12
      "type": "integer",
16
      "type": "integer",
13
      "description": "maximum number of renewals allowed"
17
      "description": "maximum number of renewals allowed"
(-)a/t/db_dependent/api/v1/checkoutsexpanded.t (-4 / +8 lines)
Lines 47-53 my $module = new Test::MockModule('C4::Context'); Link Here
47
$module->mock('userenv', sub { { branch => $branchcode } });
47
$module->mock('userenv', sub { { branch => $branchcode } });
48
48
49
subtest 'get() tests' => sub {
49
subtest 'get() tests' => sub {
50
    plan tests => 13;
50
    plan tests => 17;
51
51
52
    $schema->storage->txn_begin;
52
    $schema->storage->txn_begin;
53
53
Lines 76-81 subtest 'get() tests' => sub { Link Here
76
    C4::Circulation::AddRenewal($borrowernumber, $itemnumber2, $branchcode, $due2);
76
    C4::Circulation::AddRenewal($borrowernumber, $itemnumber2, $branchcode, $due2);
77
77
78
    # 4. Issuing rules
78
    # 4. Issuing rules
79
    t::lib::Mocks::mock_preference('OpacRenewalAllowed', 1);
79
    t::lib::Mocks::mock_preference('CircControl', 'ItemHomeLibrary');
80
    t::lib::Mocks::mock_preference('CircControl', 'ItemHomeLibrary');
80
    t::lib::Mocks::mock_preference('HomeOrHoldingBranch', 'homebranch');
81
    t::lib::Mocks::mock_preference('HomeOrHoldingBranch', 'homebranch');
81
    Koha::IssuingRule->new({
82
    Koha::IssuingRule->new({
Lines 88-94 subtest 'get() tests' => sub { Link Here
88
        categorycode => $patron->categorycode,
89
        categorycode => $patron->categorycode,
89
        itemtype     => $item2->effective_itemtype,
90
        itemtype     => $item2->effective_itemtype,
90
        branchcode   => $item2->homebranch,
91
        branchcode   => $item2->homebranch,
91
        renewalsallowed => 10,
92
        renewalsallowed => 1,
92
    })->store;
93
    })->store;
93
94
94
    # BEGIN TEST
95
    # BEGIN TEST
Lines 104-115 subtest 'get() tests' => sub { Link Here
104
        ->json_is('/0/itemnumber' => $itemnumber1)
105
        ->json_is('/0/itemnumber' => $itemnumber1)
105
        ->json_like('/0/date_due' => qr/$due\+\d\d:\d\d/)
106
        ->json_like('/0/date_due' => qr/$due\+\d\d:\d\d/)
106
        ->json_is('/0/renewals'   => 0)
107
        ->json_is('/0/renewals'   => 0)
108
        ->json_is('/0/renewable'  => Mojo::JSON->true)
109
        ->json_is('/0/renewability_error' => undef)
107
        ->json_is('/0/max_renewals' => 5)
110
        ->json_is('/0/max_renewals' => 5)
108
        ->json_is('/1/borrowernumber' => $borrowernumber)
111
        ->json_is('/1/borrowernumber' => $borrowernumber)
109
        ->json_is('/1/itemnumber' => $itemnumber2)
112
        ->json_is('/1/itemnumber' => $itemnumber2)
110
        ->json_like('/1/date_due' => qr/$due2\+\d\d:\d\d/)
113
        ->json_like('/1/date_due' => qr/$due2\+\d\d:\d\d/)
111
        ->json_is('/1/renewals'   => 1)
114
        ->json_is('/1/renewals'   => 1)
112
        ->json_is('/1/max_renewals' => 10)
115
        ->json_is('/1/renewable'  => Mojo::JSON->false)
116
        ->json_is('/1/renewability_error' => 'too_many')
117
        ->json_is('/1/max_renewals' => 1)
113
        ->json_hasnt('/2');
118
        ->json_hasnt('/2');
114
119
115
    $schema->storage->txn_rollback;
120
    $schema->storage->txn_rollback;
116
- 

Return to bug 18407