From 933945a7b7af2589ef7eaaa9bf4805f44fecc70e Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Fri, 4 Nov 2016 10:23:56 +0000 Subject: [PATCH] Bug 17553: Move existing tests --- t/db_dependent/Koha/Patrons.t | 67 +++++++++++++++++++++++++++++++++++- t/db_dependent/Members/GetOverdues.t | 62 --------------------------------- 2 files changed, 66 insertions(+), 63 deletions(-) delete mode 100644 t/db_dependent/Members/GetOverdues.t diff --git a/t/db_dependent/Koha/Patrons.t b/t/db_dependent/Koha/Patrons.t index a5ad0bf..a40d9c3 100644 --- a/t/db_dependent/Koha/Patrons.t +++ b/t/db_dependent/Koha/Patrons.t @@ -19,9 +19,11 @@ use Modern::Perl; -use Test::More tests => 12; +use Test::More tests => 13; use Test::Warn; +use DateTime; +use C4::Biblio; use C4::Members; use C4::Circulation; @@ -513,6 +515,69 @@ subtest 'search_patrons_to_anonymise & anonymise_issue_history' => sub { Koha::Patrons->find( $userenv_patron->{borrowernumber})->delete; }; +subtest 'get_overdues' => sub { + plan tests => 3; + + my $library = $builder->build( { source => 'Branch' } ); + my ($biblionumber_1) = AddBiblio( MARC::Record->new, '' ); + my $item_1 = $builder->build( + { + source => 'Item', + value => { + homebranch => $library->{branchcode}, + holdingbranch => $library->{branchcode}, + biblionumber => $biblionumber_1 + } + } + ); + my $item_2 = $builder->build( + { + source => 'Item', + value => { + homebranch => $library->{branchcode}, + holdingbranch => $library->{branchcode}, + biblionumber => $biblionumber_1 + } + } + ); + my ($biblionumber_2) = AddBiblio( MARC::Record->new, '' ); + my $item_3 = $builder->build( + { + source => 'Item', + value => { + homebranch => $library->{branchcode}, + holdingbranch => $library->{branchcode}, + biblionumber => $biblionumber_2 + } + } + ); + my $patron = $builder->build( + { + source => 'Borrower', + value => { branchcode => $library->{branchcode} } + } + ); + + # Not sure how this is useful, but AddIssue pass this variable to different other subroutines + $patron = GetMember( borrowernumber => $patron->{borrowernumber} ); + + my $module = new Test::MockModule('C4::Context'); + $module->mock( 'userenv', sub { { branch => $library->{branchcode} } } ); + + AddIssue( $patron, $item_1->{barcode}, DateTime->now->subtract( days => 1 ) ); + AddIssue( $patron, $item_2->{barcode}, DateTime->now->subtract( days => 5 ) ); + AddIssue( $patron, $item_3->{barcode} ); + + my $overdues = C4::Members::GetOverduesForPatron( $patron->{borrowernumber} ); + is( @$overdues, 2, 'GetOverduesForPatron should return the correct number of elements' ); + is( $overdues->[0]->{itemnumber}, $item_1->{itemnumber}, 'The issue should be returned in the same order as they have been done, first is correct' ); + is( $overdues->[1]->{itemnumber}, $item_2->{itemnumber}, 'The issue should be returned in the same order as they have been done, second is correct' ); + + # Clean stuffs + Koha::Issues->search( { borrowernumber => $patron->{borrowernumber} } )->delete; + Koha::Patrons->find( $patron->{borrowernumber} )->delete; +}; + $retrieved_patron_1->delete; is( Koha::Patrons->search->count, $nb_of_patrons + 1, 'Delete should have deleted the patron' ); diff --git a/t/db_dependent/Members/GetOverdues.t b/t/db_dependent/Members/GetOverdues.t deleted file mode 100644 index 93662b2..0000000 --- a/t/db_dependent/Members/GetOverdues.t +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/bin/perl - -use Modern::Perl; - -use Test::More tests => 3; -use Test::MockModule; - -use C4::Biblio; -use C4::Items; -use C4::Members; -use C4::Circulation; -use Koha::Libraries; -use MARC::Record; - -my $dbh = C4::Context->dbh; -$dbh->{AutoCommit} = 0; -$dbh->{RaiseError} = 1; - -$dbh->do(q|DELETE FROM issues|); -$dbh->do(q|DELETE FROM borrowers|); -$dbh->do(q|DELETE FROM items|); -$dbh->do(q|DELETE FROM branches|); -$dbh->do(q|DELETE FROM biblio|); -$dbh->do(q|DELETE FROM categories|); - -my $branchcode = 'B'; -Koha::Library->new( { branchcode => $branchcode, branchname => 'Branch' } )->store; - -my $categorycode = 'C'; -$dbh->do( "INSERT INTO categories(categorycode) VALUES(?)", - undef, $categorycode ); - -my %item_branch_infos = ( - homebranch => $branchcode, - holdingbranch => $branchcode, -); - -my ($biblionumber1) = AddBiblio( MARC::Record->new, '' ); -my $itemnumber1 = - AddItem( { barcode => '0101', %item_branch_infos }, $biblionumber1 ); -my $itemnumber2 = - AddItem( { barcode => '0102', %item_branch_infos }, $biblionumber1 ); - -my ($biblionumber2) = AddBiblio( MARC::Record->new, '' ); -my $itemnumber3 = - AddItem( { barcode => '0103', %item_branch_infos }, $biblionumber2 ); - -my $borrowernumber = - AddMember( categorycode => $categorycode, branchcode => $branchcode ); -my $borrower = GetMember( borrowernumber => $borrowernumber ); - -my $module = new Test::MockModule('C4::Context'); -$module->mock( 'userenv', sub { { branch => $branchcode } } ); - -AddIssue( $borrower, '0101', DateTime->now->subtract( days => 1 ) ); -AddIssue( $borrower, '0102', DateTime->now->subtract( days => 5 ) ); -AddIssue( $borrower, '0103' ); - -my $overdues = C4::Members::GetOverduesForPatron( $borrowernumber ); -is( @$overdues, 2, 'GetOverduesForPatron returns the correct number of elements' ); -is( $overdues->[0]->{itemnumber}, $itemnumber1, 'First overdue is correct' ); -is( $overdues->[1]->{itemnumber}, $itemnumber2, 'Second overdue is correct' ); -- 2.1.4