Bug 17564: Fix t/db_dependent/Acquisition/OrderUsers.t
[koha.git] / t / db_dependent / Acquisition / OrderUsers.t
1 use Modern::Perl;
2 use Test::More tests => 3;
3
4 use C4::Acquisition;
5 use C4::Biblio;
6 use C4::Bookseller;
7 use C4::Letters;
8 use Koha::Database;
9 use Koha::Acquisition::Order;
10
11 use t::lib::TestBuilder;
12
13 my $schema = Koha::Database->schema;
14 $schema->storage->txn_begin;
15 my $builder = t::lib::TestBuilder->new;
16
17 my $library = $builder->build({
18     source => "Branch",
19 });
20
21 # Creating some orders
22 my $booksellerid = C4::Bookseller::AddBookseller(
23     {
24         name         => "my vendor",
25         address1     => "bookseller's address",
26         phone        => "0123456",
27         active       => 1,
28     }
29 );
30
31 my $basketno = NewBasket( $booksellerid, 1 );
32
33 my $budgetid = C4::Budgets::AddBudget(
34     {
35         budget_code => "budget_code_test_getordersbybib",
36         budget_name => "budget_name_test_getordersbybib",
37     }
38 );
39 my $budget = C4::Budgets::GetBudget($budgetid);
40
41 my @ordernumbers;
42 my ( $biblionumber, $biblioitemnumber ) = C4::Biblio::AddBiblio( MARC::Record->new, '' );
43
44 my $order = Koha::Acquisition::Order->new(
45     {
46         basketno         => $basketno,
47         quantity         => 2,
48         biblionumber     => $biblionumber,
49         budget_id        => $budgetid,
50         entrydate        => '01-01-2014',
51         currency         => 'EUR',
52         notes            => "This is a note1",
53         gstrate          => 0.0500,
54         orderstatus      => 1,
55         quantityreceived => 0,
56         rrp              => 10,
57         ecost            => 10,
58     }
59 )->insert;
60 my $ordernumber = $order->{ordernumber};
61
62 my $invoiceid = AddInvoice(
63     invoicenumber => 'invoice',
64     booksellerid  => $booksellerid,
65     unknown       => "unknown"
66 );
67
68 my $borrowernumber = C4::Members::AddMember(
69     cardnumber => 'TESTCARD',
70     firstname =>  'TESTFN',
71     surname => 'TESTSN',
72     categorycode => 'S',
73     branchcode => $library->{branchcode},
74     dateofbirth => '',
75     dateexpiry => '9999-12-31',
76     userid => 'TESTUSERID'
77 );
78
79 my $borrower = C4::Members::GetMemberDetails( $borrowernumber );
80
81 C4::Acquisition::ModOrderUsers( $ordernumber, $borrowernumber );
82
83 my $is_added = grep { /^$borrowernumber$/ } C4::Acquisition::GetOrderUsers( $ordernumber );
84 is( $is_added, 1, 'ModOrderUsers should link patrons to an order' );
85
86 $order = Koha::Acquisition::Order->fetch({ ordernumber => $ordernumber });
87 ModReceiveOrder(
88     {
89         biblionumber      => $biblionumber,
90         order             => $order,
91         quantityreceived  => 1,
92         cost              => 10,
93         ecost             => 10,
94         invoiceid         => $invoiceid,
95         rrp               => 10,
96         budget_id         => $budgetid,
97     }
98 );
99
100 my $messages = C4::Letters::GetQueuedMessages({ borrowernumber => $borrowernumber });
101 is( scalar( @$messages ), 0, 'The letter has not been sent to message queue on receiving the order, the order is not entire received');
102
103 $order = Koha::Acquisition::Order->fetch({ ordernumber => $ordernumber });
104 ModReceiveOrder(
105     {
106         biblionumber      => $biblionumber,
107         order             => $order,
108         quantityreceived  => 1,
109         cost              => 10,
110         ecost             => 10,
111         invoiceid         => $invoiceid,
112         rrp               => 10,
113         budget_id         => $budgetid,
114     }
115 );
116
117 $messages = C4::Letters::GetQueuedMessages({ borrowernumber => $borrowernumber });
118 is( scalar( @$messages ), 1, 'The letter has been sent to message queue on receiving the order');