|
Lines 156-174
subtest 'complete() tests' => sub {
Link Here
|
| 156 |
|
156 |
|
| 157 |
subtest 'cancel() tests' => sub { |
157 |
subtest 'cancel() tests' => sub { |
| 158 |
|
158 |
|
| 159 |
plan tests => 4; |
159 |
plan tests => 11; |
| 160 |
|
160 |
|
| 161 |
$schema->storage->txn_begin; |
161 |
$schema->storage->txn_begin; |
| 162 |
|
162 |
|
|
|
163 |
my $amount = 11; |
| 164 |
|
| 165 |
my $patron_mock = Test::MockModule->new('Koha::Patron'); |
| 166 |
$patron_mock->mock( 'article_request_fee', sub { return $amount; } ); |
| 167 |
|
| 168 |
my $patron = $builder->build_object({ class => 'Koha::Patrons' }); |
| 169 |
my $item = $builder->build_sample_item; |
| 170 |
|
| 163 |
my $ar_mock = Test::MockModule->new('Koha::ArticleRequest'); |
171 |
my $ar_mock = Test::MockModule->new('Koha::ArticleRequest'); |
| 164 |
$ar_mock->mock( 'notify', sub { ok( 1, '->notify() called' ); } ); |
172 |
$ar_mock->mock( 'notify', sub { ok( 1, '->notify() called' ); } ); |
| 165 |
|
173 |
|
| 166 |
my $ar = $builder->build_object( |
174 |
my $ar = Koha::ArticleRequest->new( |
| 167 |
{ class => 'Koha::ArticleRequests', |
175 |
{ |
| 168 |
value => { status => Koha::ArticleRequest::Status::Requested } |
176 |
borrowernumber => $patron->id, |
|
|
177 |
biblionumber => $item->biblionumber, |
| 178 |
itemnumber => $item->id, |
| 169 |
} |
179 |
} |
| 170 |
); |
180 |
); |
| 171 |
|
181 |
|
|
|
182 |
$ar->request()->discard_changes; |
| 183 |
|
| 184 |
is( $ar->status, Koha::ArticleRequest::Status::Requested ); |
| 185 |
is( $ar->itemnumber, $item->id, 'itemnumber set' ); |
| 186 |
ok( defined $ar->debit_id, 'Fee linked' ); |
| 187 |
is( $patron->account->balance, $amount, 'Outstanding fees with the right value' ); |
| 188 |
|
| 189 |
my $payed_amount = 5; |
| 190 |
$patron->account->pay({ amount => $payed_amount, interface => 'intranet', lines => [ $ar->debit ] }); |
| 191 |
is( $patron->account->balance, $amount - $payed_amount, 'Outstanding fees with the right value' ); |
| 192 |
|
| 172 |
my $reason = "Hey, ho"; |
193 |
my $reason = "Hey, ho"; |
| 173 |
my $notes = "Let's go!"; |
194 |
my $notes = "Let's go!"; |
| 174 |
|
195 |
|
|
Lines 178-182
subtest 'cancel() tests' => sub {
Link Here
|
| 178 |
is( $ar->cancellation_reason, $reason, 'Cancellation reason stored correctly' ); |
199 |
is( $ar->cancellation_reason, $reason, 'Cancellation reason stored correctly' ); |
| 179 |
is( $ar->notes, $notes, 'Notes stored correctly' ); |
200 |
is( $ar->notes, $notes, 'Notes stored correctly' ); |
| 180 |
|
201 |
|
|
|
202 |
is( abs $patron->account->balance, $payed_amount, 'The patron has been refunded the right value' ); |
| 203 |
|
| 181 |
$schema->storage->txn_rollback; |
204 |
$schema->storage->txn_rollback; |
| 182 |
}; |
205 |
}; |
| 183 |
- |
|
|