use Test::More tests => 22;
use Test::MockModule;
+use t::lib::TestBuilder;
use C4::Biblio;
use C4::Items;
-use C4::Members;
use Koha::Library;
+use Koha::Patrons;
use MARC::Record;
BEGIN {
use_ok('C4::Circulation');
}
+my $schema = Koha::Database->schema;
+$schema->storage->txn_begin;
+
+my $builder = t::lib::TestBuilder->new;
my $dbh = C4::Context->dbh;
$dbh->{AutoCommit} = 0;
$dbh->do(q|DELETE FROM categories|);
-my $branchcode = 'B';
-Koha::Library->new( {branchcode => $branchcode, branchname => 'Branch' } )->store;
+## Create sample data
+# Add a branch
+my $branchcode = $builder->build( { source => 'Branch' } )->{branchcode};
+
+# Add a category
+my $categorycode = $builder->build( { source => 'Category' } )->{categorycode};
-my $categorycode = 'C';
-$dbh->do("INSERT INTO categories(categorycode) VALUES(?)", undef, $categorycode);
+# Add an itemtype
+my $itemtype = $builder->build( { source => 'Itemtype' } )->{itemtype};
-my %item_branch_infos = (
- homebranch => $branchcode,
+my %item_info = (
+ homebranch => $branchcode,
holdingbranch => $branchcode,
+ itype => $itemtype
);
my ($biblionumber1) = AddBiblio(MARC::Record->new, '');
my $barcode1 = '0101';
-AddItem({ barcode => $barcode1, %item_branch_infos }, $biblionumber1);
+AddItem({ barcode => $barcode1, %item_info }, $biblionumber1);
my ($biblionumber2) = AddBiblio(MARC::Record->new, '');
my $barcode2 = '0202';
-AddItem({ barcode => $barcode2, %item_branch_infos }, $biblionumber2);
+AddItem({ barcode => $barcode2, %item_info }, $biblionumber2);
-my $borrowernumber1 = AddMember(categorycode => $categorycode, branchcode => $branchcode);
-my $borrowernumber2 = AddMember(categorycode => $categorycode, branchcode => $branchcode);
-my $borrower1 = GetMember(borrowernumber => $borrowernumber1);
-my $borrower2 = GetMember(borrowernumber => $borrowernumber2);
+my $borrowernumber1 = Koha::Patron->new({categorycode => $categorycode, branchcode => $branchcode})->store->borrowernumber;
+my $borrowernumber2 = Koha::Patron->new({categorycode => $categorycode, branchcode => $branchcode})->store->borrowernumber;
+# FIXME following code must be simplified to use the Koha::Patron objects
+my $borrower1 = Koha::Patrons->find( $borrowernumber1 )->unblessed;
+my $borrower2 = Koha::Patrons->find( $borrowernumber2 )->unblessed;
my $module = new Test::MockModule('C4::Context');
$module->mock('userenv', sub { { branch => $branchcode } });
$dbh->rollback();
-1;