@@ -, +, @@ t/db_dependent/Utils/Datatables_Members.t to use TestBuilder --- t/db_dependent/Utils/Datatables_Members.t | 175 +++++++++++++---------------- 1 file changed, 79 insertions(+), 96 deletions(-) --- a/t/db_dependent/Utils/Datatables_Members.t +++ a/t/db_dependent/Utils/Datatables_Members.t @@ -28,97 +28,80 @@ use C4::Members::AttributeTypes; use Koha::Library; use t::lib::Mocks; +use t::lib::TestBuilder; + +use Koha::Database; use_ok( "C4::Utils::DataTables::Members" ); -my $dbh = C4::Context->dbh; - -# Start transaction -$dbh->{AutoCommit} = 0; -$dbh->{RaiseError} = 1; - -# Pick a categorycode from the DB -my @categories = C4::Category->all; -my $categorycode = $categories[0]->categorycode; -# Add a new branch so we control what borrowers it has -my $branchcode = "UNC"; -my $branch_data = { - branchcode => $branchcode, - branchname => 'Universidad Nacional de Cordoba', - branchaddress1 => 'Haya de la Torre', - branchaddress2 => 'S/N', - branchzip => '5000', - branchcity => 'Cordoba', - branchstate => 'Cordoba', - branchcountry => 'Argentina' -}; -Koha::Library->new( $branch_data )->store; - -my %john_doe = ( - cardnumber => '123456', - firstname => 'John', - surname => 'Doe', - categorycode => $categorycode, - branchcode => $branchcode, - dateofbirth => '1983-03-01', - dateexpiry => '9999-12-31', - userid => 'john.doe' -); +my $schema = Koha::Database->new->schema; +$schema->storage->txn_begin; -my %john_smith = ( - cardnumber => '234567', - firstname => 'John', - surname => 'Smith', - categorycode => $categorycode, - branchcode => $branchcode, - dateofbirth => '1982-02-01', - dateexpiry => '9999-12-31', - userid => 'john.smith' -); +my $builder = t::lib::TestBuilder->new; -my %jane_doe = ( - cardnumber => '345678', - firstname => 'Jane', - surname => 'Doe', - categorycode => $categorycode, - branchcode => $branchcode, - dateofbirth => '1983-03-01', - dateexpiry => '9999-12-31', - userid => 'jane.doe' -); +my $library = $builder->build({ + source => "Branch", +}); -my %jeanpaul_dupont = ( - cardnumber => '456789', - firstname => 'Jean Paul', - surname => 'Dupont', - categorycode => $categorycode, - branchcode => $branchcode, - dateofbirth => '1982-02-01', - dateexpiry => '9999-12-31', - userid => 'jeanpaul.dupont' -); +my $branchcode=$library->{branchcode}; + +my $john_doe = $builder->build({ + source => "Borrower", + value => { + cardnumber => '123456', + firstname => 'John', + surname => 'Doe', + branchcode => $branchcode, + dateofbirth => '1983-03-01', + userid => 'john.doe' + }, +}); -my %dupont_brown = ( - cardnumber => '567890', - firstname => 'Dupont', - surname => 'Brown', - categorycode => $categorycode, - branchcode => $branchcode, - dateofbirth => '1979-01-01', - dateexpiry => '9999-12-31', - userid => 'dupont.brown' -); +my $john_smith = $builder->build({ + source => "Borrower", + value => { + cardnumber => '234567', + firstname => 'John', + surname => 'Smith', + branchcode => $branchcode, + dateofbirth => '1982-02-01', + userid => 'john.smith' + }, +}); -$john_doe{borrowernumber} = AddMember( %john_doe ); -warn "Error adding John Doe, check your tests" unless $john_doe{borrowernumber}; -$john_smith{borrowernumber} = AddMember( %john_smith ); -warn "Error adding John Smith, check your tests" unless $john_smith{borrowernumber}; -$jane_doe{borrowernumber} = AddMember( %jane_doe ); -warn "Error adding Jane Doe, check your tests" unless $jane_doe{borrowernumber}; -$jeanpaul_dupont{borrowernumber} = AddMember( %jeanpaul_dupont ); -warn "Error adding Jean Paul Dupont, check your tests" unless $jeanpaul_dupont{borrowernumber}; -$dupont_brown{borrowernumber} = AddMember( %dupont_brown ); -warn "Error adding Dupont Brown, check your tests" unless $dupont_brown{borrowernumber}; +my $jane_doe = $builder->build({ + source => "Borrower", + value => { + cardnumber => '345678', + firstname => 'Jane', + surname => 'Doe', + branchcode => $branchcode, + dateofbirth => '1983-03-01', + userid => 'jane.doe' + }, +}); +my $jeanpaul_dupont = $builder->build({ + source => "Borrower", + value => { + cardnumber => '456789', + firstname => 'Jean Paul', + surname => 'Dupont', + branchcode => $branchcode, + dateofbirth => '1982-02-01', + userid => 'jeanpaul.dupont' + }, +}); +my $dupont_brown = $builder->build({ + source => "Borrower", + value => { + cardnumber => '567890', + firstname => 'Dupont', + surname => 'Brown', + branchcode => $branchcode, + dateofbirth => '1979-01-01', + userid => 'dupont.brown' + }, +}); # Set common datatables params my %dt_params = ( @@ -138,7 +121,7 @@ my $search_results = C4::Utils::DataTables::Members::search({ is( $search_results->{ iTotalDisplayRecords }, 1, "John Doe has only one match on $branchcode (Bug 12595)"); -ok( $search_results->{ patrons }[0]->{ cardnumber } eq $john_doe{ cardnumber } +ok( $search_results->{ patrons }[0]->{ cardnumber } eq $john_doe->{ cardnumber } && ! $search_results->{ patrons }[1], "John Doe is the only match (Bug 12595)"); @@ -155,7 +138,7 @@ is( $search_results->{ iTotalDisplayRecords }, 1, "Jane Doe has only one match on $branchcode (Bug 12595)"); is( $search_results->{ patrons }[0]->{ cardnumber }, - $jane_doe{ cardnumber }, + $jane_doe->{ cardnumber }, "Jane Doe is the only match (Bug 12595)"); # Search "John" @@ -171,11 +154,11 @@ is( $search_results->{ iTotalDisplayRecords }, 2, "There are two John at $branchcode"); is( $search_results->{ patrons }[0]->{ cardnumber }, - $john_doe{ cardnumber }, + $john_doe->{ cardnumber }, "John Doe is the first result"); is( $search_results->{ patrons }[1]->{ cardnumber }, - $john_smith{ cardnumber }, + $john_smith->{ cardnumber }, "John Smith is the second result"); # Search "Doe" @@ -191,11 +174,11 @@ is( $search_results->{ iTotalDisplayRecords }, 2, "There are two Doe at $branchcode"); is( $search_results->{ patrons }[0]->{ cardnumber }, - $john_doe{ cardnumber }, + $john_doe->{ cardnumber }, "John Doe is the first result"); is( $search_results->{ patrons }[1]->{ cardnumber }, - $jane_doe{ cardnumber }, + $jane_doe->{ cardnumber }, "Jane Doe is the second result"); # Search "Smith" as surname - there is only one occurrence of Smith @@ -211,7 +194,7 @@ is( $search_results->{ iTotalDisplayRecords }, 1, "There is one Smith at $branchcode when searching for surname"); is( $search_results->{ patrons }[0]->{ cardnumber }, - $john_smith{ cardnumber }, + $john_smith->{ cardnumber }, "John Smith is the first result"); # Search "Dupont" as surname - Dupont is used both as firstname and surname, we @@ -228,7 +211,7 @@ is( $search_results->{ iTotalDisplayRecords }, 1, "There is one Dupont at $branchcode when searching for surname"); is( $search_results->{ patrons }[0]->{ cardnumber }, - $jeanpaul_dupont{ cardnumber }, + $jeanpaul_dupont->{ cardnumber }, "Jean Paul Dupont is the first result"); # Search "Doe" as surname - Doe is used twice as surname @@ -244,11 +227,11 @@ is( $search_results->{ iTotalDisplayRecords }, 2, "There are two Doe at $branchcode when searching for surname"); is( $search_results->{ patrons }[0]->{ cardnumber }, - $john_doe{ cardnumber }, + $john_doe->{ cardnumber }, "John Doe is the first result"); is( $search_results->{ patrons }[1]->{ cardnumber }, - $jane_doe{ cardnumber }, + $jane_doe->{ cardnumber }, "Jane Doe is the second result"); # Search by userid @@ -291,10 +274,10 @@ $attribute_type->store; C4::Members::Attributes::SetBorrowerAttributes( - $john_doe{borrowernumber}, [ { code => $attribute_type->{code}, value => 'the default value for a common user' } ] + $john_doe->{borrowernumber}, [ { code => $attribute_type->{code}, value => 'the default value for a common user' } ] ); C4::Members::Attributes::SetBorrowerAttributes( - $jane_doe{borrowernumber}, [ { code => $attribute_type->{code}, value => 'the default value for another common user' } ] + $jane_doe->{borrowernumber}, [ { code => $attribute_type->{code}, value => 'the default value for another common user' } ] ); t::lib::Mocks::mock_preference('ExtendedPatronAttributes', 1); @@ -428,6 +411,6 @@ foreach my $dateformloo (@datetimeprefs){ } # End -$dbh->rollback; +$schema->storage->txn_rollback; 1; --