Bug 26384: Fix executable flags
[koha.git] / t / db_dependent / Acquisition / GetOrdersByBiblionumber.t
1 #!/usr/bin/perl
2
3 use Modern::Perl;
4
5 use Test::More;
6 use C4::Acquisition;
7 use C4::Biblio;
8 use C4::Budgets;
9 use Koha::Database;
10 use Koha::Acquisition::Orders;
11
12 use MARC::Record;
13
14 #Start transaction
15 my $schema = Koha::Database->new()->schema();
16 $schema->storage->txn_begin();
17
18 my $bookseller = Koha::Acquisition::Bookseller->new(
19     {
20         name => "my vendor",
21         address1 => "bookseller's address",
22         phone => "0123456",
23         active => 1
24     }
25 )->store;
26
27 my $basketno = C4::Acquisition::NewBasket(
28     $bookseller->id
29 );
30
31 my $budgetid = C4::Budgets::AddBudget(
32     {
33         budget_code => "budget_code_test",
34         budget_name => "budget_name_test",
35     }
36 );
37
38 my $budget = C4::Budgets::GetBudget( $budgetid );
39
40 my ($biblionumber1, $biblioitemnumber1) = AddBiblio(MARC::Record->new, '');
41 my ($biblionumber2, $biblioitemnumber2) = AddBiblio(MARC::Record->new, '');
42 my $order1 = Koha::Acquisition::Order->new(
43     {
44         basketno => $basketno,
45         quantity => 24,
46         biblionumber => $biblionumber1,
47         budget_id => $budget->{budget_id},
48     }
49 )->store;
50 my $ordernumber1 = $order1->ordernumber;
51
52 my $order2 = Koha::Acquisition::Order->new(
53     {
54         basketno => $basketno,
55         quantity => 42,
56         biblionumber => $biblionumber2,
57         budget_id => $budget->{budget_id},
58     }
59 )->store;
60 my $ordernumber2 = $order2->ordernumber;
61
62 my $order3 = Koha::Acquisition::Order->new(
63     {
64         basketno => $basketno,
65         quantity => 4,
66         biblionumber => $biblionumber2,
67         budget_id => $budget->{budget_id},
68     }
69 )->store;
70 my $ordernumber3 = $order3->ordernumber;
71
72 my @orders = GetOrdersByBiblionumber();
73 is(scalar(@orders), 0, 'GetOrdersByBiblionumber : no argument, return undef');
74
75 @orders = GetOrdersByBiblionumber( $biblionumber1 );
76 is(scalar(@orders), 1, '1 order on biblionumber 1');
77
78 @orders = GetOrdersByBiblionumber( $biblionumber2 );
79 is(scalar(@orders), 2, '2 orders on biblionumber 2');
80
81 #End transaction
82 $schema->storage->txn_rollback();
83
84 done_testing;