5 use Test::More tests => 6;
7 use C4::Biblio qw( AddBiblio DelBiblio );
13 my $dbh = C4::Context->dbh;
14 $dbh->{AutoCommit} = 0;
15 $dbh->{RaiseError} = 1;
21 my $booksellerid = C4::Bookseller::AddBookseller(
24 address1 => "bookseller's address",
30 my $basketno = C4::Acquisition::NewBasket(
34 my $budgetid = C4::Budgets::AddBudget(
36 budget_code => "budget_code_test_close_reopen",
37 budget_name => "budget_name_test_close_reopen",
41 my $budget = C4::Budgets::GetBudget( $budgetid );
43 my ($biblionumber1, $biblioitemnumber1) = AddBiblio(MARC::Record->new, '');
44 my ($biblionumber2, $biblioitemnumber2) = AddBiblio(MARC::Record->new, '');
46 my ($ordernumber1, $ordernumber2);
47 $ordernumber1 = C4::Acquisition::NewOrder(
49 basketno => $basketno,
51 biblionumber => $biblionumber1,
52 budget_id => $budget->{budget_id},
56 $ordernumber2 = C4::Acquisition::NewOrder(
58 basketno => $basketno,
60 biblionumber => $biblionumber2,
61 budget_id => $budget->{budget_id},
65 my $nb_biblio = C4::Acquisition::GetBiblioCountByBasketno( $basketno );
66 is ( $nb_biblio, 2, "There are 2 biblio for this basket" );
67 my @orders = C4::Acquisition::GetOrders( $basketno );
68 is( scalar(@orders), 2, "2 orders are created" );
69 is ( scalar( map { $_->{orderstatus} eq 'new' ? 1 : () } @orders ), 2, "2 orders are new before closing the basket" );
71 C4::Acquisition::CloseBasket( $basketno );
72 @orders = C4::Acquisition::GetOrders( $basketno );
73 is ( scalar( map { $_->{orderstatus} eq 'ordered' ? 1 : () } @orders ), 2, "2 orders are ordered, the basket is closed" );
75 C4::Acquisition::ReopenBasket( $basketno );
76 @orders = C4::Acquisition::GetOrders( $basketno );
77 is ( scalar( map { $_->{orderstatus} eq 'ordered' ? 1 : () } @orders ), 0, "No order are ordered, the basket is reopen" );
78 is ( scalar( map { $_->{orderstatus} eq 'new' ? 1 : () } @orders ), 2, "2 orders are new, the basket is reopen" );