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

(-)a/t/db_dependent/Koha/Patrons.t (-67 / +38 lines)
Lines 1214-1306 subtest 'search_patrons_to_anonymise & anonymise_issue_history' => sub { Link Here
1214
subtest 'anonymise items_last_borrower' => sub {
1214
subtest 'anonymise items_last_borrower' => sub {
1215
    plan tests => 1;
1215
    plan tests => 1;
1216
1216
1217
    # TODO create a subroutine in t::lib::Mocks
1217
    my $anonymous = $builder->build_object( { class => 'Koha::Patrons', }, );
1218
    my $anonymous = $builder->build( { source => 'Borrower', }, );
1219
1218
1220
    t::lib::Mocks::mock_preference( 'AnonymousPatron', $anonymous->{borrowernumber} );
1219
    t::lib::Mocks::mock_preference( 'AnonymousPatron', $anonymous->borrowernumber );
1221
    t::lib::Mocks::mock_preference('StoreLastBorrower', 1);
1220
    t::lib::Mocks::mock_preference('StoreLastBorrower', 1);
1222
1221
1223
    subtest 'withrawn, lost and damaged items' => sub {
1222
    subtest 'withrawn, lost and damaged items' => sub {
1224
        plan tests => 5;
1223
        plan tests => 5;
1225
1224
1226
        my $patron = $builder->build(
1225
        my $patron = $builder->build_object(
1227
            {   source => 'Borrower',
1226
            {
1228
                value  => { privacy => 1, }
1227
                class => 'Koha::Patrons',
1229
            }
1228
                value => { privacy => 1, }
1230
        );
1231
        my $item_1 = $builder->build_object(
1232
            {   class => 'Koha::Items',
1233
                value  => {
1234
                    itemlost  => 0,
1235
                    withdrawn => 0,
1236
                    damaged => 0,
1237
                },
1238
            }
1229
            }
1239
        );
1230
        );
1240
        my $issue_1 = $builder->build(
1231
        my $item_1 = $builder->build_sample_item;
1241
            {   source => 'Issue',
1232
        my $issue_1 = $builder->build_object(
1242
                value  => {
1233
            {
1243
                    borrowernumber => $patron->{borrowernumber},
1234
                class => 'Koha::Checkouts',
1235
                value => {
1236
                    borrowernumber => $patron->borrowernumber,
1244
                    itemnumber     => $item_1->itemnumber,
1237
                    itemnumber     => $item_1->itemnumber,
1245
                },
1238
                },
1246
            }
1239
            }
1247
        );
1240
        );
1248
        my $item_2 = $builder->build_object(
1241
        my $item_2 = $builder->build_sample_item;
1249
            {   class => 'Koha::Items',
1242
        my $issue_2 = $builder->build_object(
1250
                value  => {
1243
            {
1251
                    itemlost  => 0,
1244
                class => 'Koha::Checkouts',
1252
                    withdrawn => 0,
1245
                value => {
1253
                    damaged => 0,
1246
                    borrowernumber => $patron->borrowernumber,
1254
                },
1255
            }
1256
        );
1257
        my $issue_2 = $builder->build(
1258
            {   source => 'Issue',
1259
                value  => {
1260
                    borrowernumber => $patron->{borrowernumber},
1261
                    itemnumber     => $item_2->itemnumber,
1247
                    itemnumber     => $item_2->itemnumber,
1262
                },
1248
                },
1263
            }
1249
            }
1264
        );
1250
        );
1265
        my $item_3 = $builder->build_object(
1251
        my $item_3 = $builder->build_sample_item;
1266
            {   class => 'Koha::Items',
1252
        my $issue_3 = $builder->build_object(
1267
                value  => {
1253
            {
1268
                    itemlost  => 0,
1254
                class => 'Koha::Checkouts',
1269
                    withdrawn => 0,
1255
                value => {
1270
                    damaged => 0,
1256
                    borrowernumber => $patron->borrowernumber,
1271
                },
1272
            }
1273
        );
1274
        my $issue_3 = $builder->build(
1275
            {   source => 'Issue',
1276
                value  => {
1277
                    borrowernumber => $patron->{borrowernumber},
1278
                    itemnumber     => $item_3->itemnumber,
1257
                    itemnumber     => $item_3->itemnumber,
1279
                },
1258
                },
1280
            }
1259
            }
1281
        );
1260
        );
1282
        my $item_4 = $builder->build_object(
1261
        my $item_4 = $builder->build_sample_item;
1283
            {   class => 'Koha::Items',
1262
        my $issue_4 = $builder->build_object(
1284
                value  => {
1263
            {
1285
                    itemlost  => 0,
1264
                class => 'Koha::Checkouts',
1286
                    withdrawn => 0,
1265
                value => {
1287
                    damaged => 0,
1266
                    borrowernumber => $patron->borrowernumber,
1288
                },
1289
            }
1290
        );
1291
        my $issue_4 = $builder->build(
1292
            {   source => 'Issue',
1293
                value  => {
1294
                    borrowernumber => $patron->{borrowernumber},
1295
                    itemnumber     => $item_4->itemnumber,
1267
                    itemnumber     => $item_4->itemnumber,
1296
                },
1268
                },
1297
            }
1269
            }
1298
        );
1270
        );
1299
1271
1300
        my ( $returned_1, undef, undef ) = C4::Circulation::AddReturn( $item_1->barcode, undef, undef, dt_from_string('2010-10-11') );
1272
        my ( $returned_1 ) = C4::Circulation::AddReturn( $item_1->barcode, undef, undef, dt_from_string('2010-10-11') );
1301
        my ( $returned_2, undef, undef ) = C4::Circulation::AddReturn( $item_2->barcode, undef, undef, dt_from_string('2010-10-11') );
1273
        my ( $returned_2 ) = C4::Circulation::AddReturn( $item_2->barcode, undef, undef, dt_from_string('2010-10-11') );
1302
        my ( $returned_3, undef, undef ) = C4::Circulation::AddReturn( $item_3->barcode, undef, undef, dt_from_string('2010-10-11') );
1274
        my ( $returned_3 ) = C4::Circulation::AddReturn( $item_3->barcode, undef, undef, dt_from_string('2010-10-11') );
1303
        my ( $returned_4, undef, undef ) = C4::Circulation::AddReturn( $item_4->barcode, undef, undef, dt_from_string('2010-10-11') );
1275
        my ( $returned_4 ) = C4::Circulation::AddReturn( $item_4->barcode, undef, undef, dt_from_string('2010-10-11') );
1304
        is( $returned_1 && $returned_2 && $returned_3 && $returned_4, 1, 'The items should have been returned' );
1276
        is( $returned_1 && $returned_2 && $returned_3 && $returned_4, 1, 'The items should have been returned' );
1305
        $item_1->withdrawn(1)->store;
1277
        $item_1->withdrawn(1)->store;
1306
        $item_2->itemlost(1)->store;
1278
        $item_2->itemlost(1)->store;
Lines 1312-1327 subtest 'anonymise items_last_borrower' => sub { Link Here
1312
        my $sth = $dbh->prepare(q|SELECT borrowernumber FROM items_last_borrower where itemnumber = ?|);
1284
        my $sth = $dbh->prepare(q|SELECT borrowernumber FROM items_last_borrower where itemnumber = ?|);
1313
        $sth->execute($item_1->itemnumber);
1285
        $sth->execute($item_1->itemnumber);
1314
        my ($borrowernumber_used_to_anonymised) = $sth->fetchrow_array;
1286
        my ($borrowernumber_used_to_anonymised) = $sth->fetchrow_array;
1315
        is( $borrowernumber_used_to_anonymised, $patron->{borrowernumber}, 'withrawn items should not be anonymised' );
1287
        is( $borrowernumber_used_to_anonymised, $patron->borrowernumber, 'withrawn items should not be anonymised' );
1316
        $sth->execute($item_2->itemnumber);
1288
        $sth->execute($item_2->itemnumber);
1317
        ($borrowernumber_used_to_anonymised) = $sth->fetchrow_array;
1289
        ($borrowernumber_used_to_anonymised) = $sth->fetchrow_array;
1318
        is( $borrowernumber_used_to_anonymised, $patron->{borrowernumber}, 'lost items should not be anonymised' );
1290
        is( $borrowernumber_used_to_anonymised, $patron->borrowernumber, 'lost items should not be anonymised' );
1319
        $sth->execute($item_3->itemnumber);
1291
        $sth->execute($item_3->itemnumber);
1320
        ($borrowernumber_used_to_anonymised) = $sth->fetchrow_array;
1292
        ($borrowernumber_used_to_anonymised) = $sth->fetchrow_array;
1321
        is( $borrowernumber_used_to_anonymised, $patron->{borrowernumber}, 'damaged items should not be anonymised' );
1293
        is( $borrowernumber_used_to_anonymised, $patron->borrowernumber, 'damaged items should not be anonymised' );
1322
        $sth->execute($item_4->itemnumber);
1294
        $sth->execute($item_4->itemnumber);
1323
        ($borrowernumber_used_to_anonymised) = $sth->fetchrow_array;
1295
        ($borrowernumber_used_to_anonymised) = $sth->fetchrow_array;
1324
        is( $borrowernumber_used_to_anonymised, $anonymous->{borrowernumber}, 'not withdrawn, lost or damaged items are anonymised' );
1296
        is( $borrowernumber_used_to_anonymised, $anonymous->borrowernumber, 'not withdrawn, lost or damaged items are anonymised' );
1325
1297
1326
    };
1298
    };
1327
1299
1328
- 

Return to bug 23260