Bug 15839: Koha::Reviews - Add Koha::Review[s] classes
[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::Bookseller;
9 use C4::Budgets;
10 use Koha::Database;
11 use Koha::Acquisition::Order;
12
13 use MARC::Record;
14
15 #Start transaction
16 my $schema = Koha::Database->new()->schema();
17 $schema->storage->txn_begin();
18 my $dbh = C4::Context->dbh;
19 $dbh->{RaiseError} = 1;
20
21 my $booksellerid = C4::Bookseller::AddBookseller(
22     {
23         name => "my vendor",
24         address1 => "bookseller's address",
25         phone => "0123456",
26         active => 1
27     }
28 );
29
30 my $basketno = C4::Acquisition::NewBasket(
31     $booksellerid
32 );
33
34 my $budgetid = C4::Budgets::AddBudget(
35     {
36         budget_code => "budget_code_test_getordersbybib",
37         budget_name => "budget_name_test_getordersbybib",
38     }
39 );
40
41 my $budget = C4::Budgets::GetBudget( $budgetid );
42
43 my ($biblionumber1, $biblioitemnumber1) = AddBiblio(MARC::Record->new, '');
44 my ($biblionumber2, $biblioitemnumber2) = AddBiblio(MARC::Record->new, '');
45 my $order1 = Koha::Acquisition::Order->new(
46     {
47         basketno => $basketno,
48         quantity => 24,
49         biblionumber => $biblionumber1,
50         budget_id => $budget->{budget_id},
51     }
52 )->insert;
53 my $ordernumber1 = $order1->{ordernumber};
54
55 my $order2 = Koha::Acquisition::Order->new(
56     {
57         basketno => $basketno,
58         quantity => 42,
59         biblionumber => $biblionumber2,
60         budget_id => $budget->{budget_id},
61     }
62 )->insert;
63 my $ordernumber2 = $order1->{ordernumber};
64
65 my $order3 = Koha::Acquisition::Order->new(
66     {
67         basketno => $basketno,
68         quantity => 4,
69         biblionumber => $biblionumber2,
70         budget_id => $budget->{budget_id},
71     }
72 )->insert;
73 my $ordernumber3 = $order1->{ordernumber};
74
75 my @orders = GetOrdersByBiblionumber();
76 is(scalar(@orders), 0, 'GetOrdersByBiblionumber : no argument, return undef');
77
78 @orders = GetOrdersByBiblionumber( $biblionumber1 );
79 is(scalar(@orders), 1, '1 order on biblionumber 1');
80
81 @orders = GetOrdersByBiblionumber( $biblionumber2 );
82 is(scalar(@orders), 2, '2 orders on biblionumber 2');
83
84 #End transaction
85 $schema->storage->txn_rollback();
86
87 done_testing;