4 use Test
::More tests
=> 18;
7 use C4
::Acquisition
qw( NewBasket GetBasketsInfosByBookseller );
8 use C4
::Biblio
qw( AddBiblio );
9 use C4
::Bookseller
qw( AddBookseller );
10 use C4
::Budgets
qw( AddBudget );
13 use Koha
::Acquisition
::Order
;
15 my $dbh = C4
::Context
->dbh;
16 $dbh->{AutoCommit
} = 0;
17 $dbh->{RaiseError
} = 1;
19 my $supplierid = C4
::Bookseller
::AddBookseller
(
22 address1
=> 'bookseller\'s address',
30 ok
($basketno = NewBasket
($supplierid, 1), 'NewBasket( $supplierid , 1 ) returns $basketno');
32 my $budgetid = C4
::Budgets
::AddBudget
(
34 budget_code
=> 'budget_code_test_getordersbybib',
35 budget_name
=> 'budget_name_test_getordersbybib',
38 my $budget = C4
::Budgets
::GetBudget
( $budgetid );
40 my ($biblionumber1, $biblioitemnumber1) = AddBiblio
(MARC
::Record
->new, '');
41 my ($biblionumber2, $biblioitemnumber2) = AddBiblio
(MARC
::Record
->new, '');
42 my ($biblionumber3, $biblioitemnumber3) = AddBiblio
(MARC
::Record
->new, '');
44 my $order1 = Koha
::Acquisition
::Order
->new(
46 basketno
=> $basketno,
48 biblionumber
=> $biblionumber1,
49 budget_id
=> $budget->{budget_id
},
52 my $ordernumber1 = $order1->{ordernumber
};
54 my $order2 = Koha
::Acquisition
::Order
->new(
56 basketno
=> $basketno,
58 biblionumber
=> $biblionumber2,
59 budget_id
=> $budget->{budget_id
},
62 my $ordernumber2 = $order2->{ordernumber
};
64 my $baskets = C4
::Acquisition
::GetBasketsInfosByBookseller
( $supplierid );
65 is
( scalar(@
$baskets), 1, 'Start: 1 basket' );
66 my $basket = $baskets->[0];
67 is
( $basket->{total_items
}, 6, 'Start with 6 items' );
68 is
( $basket->{total_biblios
}, 2, 'Start with 2 biblios' );
69 is
( $basket->{total_items_cancelled
}, 0, 'Start with 0 item cancelled' );
70 is
( $basket->{total_biblios_cancelled
}, 0, 'Start with 0 biblio cancelled' );
72 C4
::Acquisition
::DelOrder
( $biblionumber2, $ordernumber2 );
73 $baskets = C4
::Acquisition
::GetBasketsInfosByBookseller
( $supplierid );
74 is
( scalar(@
$baskets), 1, 'Order2 deleted, still 1 basket' );
75 $basket = $baskets->[0];
76 is
( $basket->{total_items
}, 6, 'Order2 deleted, still 6 items' );
77 is
( $basket->{total_biblios
}, 2, 'Order2 deleted, still 2 biblios' );
78 is
( $basket->{total_items_cancelled
}, 4, 'Order2 deleted, 4 items cancelled' );
79 is
( $basket->{total_biblios_cancelled
}, 1, 'Order2 deleted, 2 biblios cancelled' );
81 C4
::Acquisition
::DelOrder
( $biblionumber1, $ordernumber1 );
82 $baskets = C4
::Acquisition
::GetBasketsInfosByBookseller
( $supplierid );
83 is
( scalar(@
$baskets), 1, 'Both orders deleted, still 1 basket' );
84 $basket = $baskets->[0];
85 is
( $basket->{total_items
}, 6, 'Both orders deleted, still 6 items' );
86 is
( $basket->{total_biblios
}, 2, 'Both orders deleted, still 6 biblios' );
87 is
( $basket->{total_items_cancelled
}, 6, 'Both orders deleted, 6 items cancelled' );
88 is
( $basket->{total_biblios_cancelled
}, 2, 'Both orders deleted, 2 biblios cancelled' );
90 C4
::Acquisition
::CloseBasket
( $basketno );
91 $baskets = C4
::Acquisition
::GetBasketsInfosByBookseller
( $supplierid );
92 is
( scalar(@
$baskets), 0, 'Basket is closed, 0 basket opened' );
93 $baskets = C4
::Acquisition
::GetBasketsInfosByBookseller
( $supplierid, 1 );
94 is
( scalar(@
$baskets), 1, 'Basket is closed, test allbasket parameter');