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