Merge remote-tracking branch 'origin/new/bug_5327'
[koha.git] / t / db_dependent / Acquisition.t
1 #!/usr/bin/perl
2 #
3 # This Koha test module is a stub!
4 # Add more tests here!!!
5
6 use strict;
7 use warnings;
8 use Data::Dumper;
9 use POSIX qw(strftime);
10
11 use C4::Bookseller qw( GetBookSellerFromId );
12
13 use Test::More tests => 38;
14
15 BEGIN {
16     use_ok('C4::Acquisition');
17 }
18
19 my $booksellerid = 1;
20 my $booksellerinfo = GetBookSellerFromId( $booksellerid );
21 # diag( Data::Dumper->Dump( [ $booksellerinfo ], [ 'booksellerinfo' ] ) );
22 SKIP: {
23     skip 'No booksellers in database, cannot test baskets', 2 unless $booksellerinfo;
24     my ($basket, $basketno);
25     ok($basketno = NewBasket(1,1),                      "NewBasket(  1 , 1  ) returns $basketno");
26     ok($basket   = GetBasket($basketno),        "GetBasket($basketno) returns $basket");
27 }
28
29
30 my $supplierid = 1;
31 my $grouped    = 0;
32 my $orders = GetPendingOrders( $supplierid, $grouped );
33 isa_ok( $orders, 'ARRAY' );
34
35 my @lateorders = GetLateOrders(0);
36 my $order = $lateorders[0];
37 AddClaim( $order->{ordernumber} );
38 my $neworder = GetOrder( $order->{ordernumber} );
39 is( $neworder->{claimed_date}, strftime( "%Y-%m-%d", localtime(time) ), "AddClaim : Check claimed_date" );
40
41 SKIP: {
42     skip 'No relevant orders in database, cannot test baskets', 33 unless( scalar @$orders );
43     # diag( Data::Dumper->Dump( [ $orders ], [ 'orders' ] ) );
44     my @expectedfields = qw( basketno
45                              biblioitemnumber
46                              biblionumber
47                              booksellerinvoicenumber
48                              budgetdate
49                              cancelledby
50                              closedate
51                              creationdate
52                              currency
53                              datecancellationprinted
54                              datereceived
55                              ecost
56                              entrydate
57                              firstname
58                              freight
59                              gst
60                              listprice
61                              notes
62                              ordernumber
63                              purchaseordernumber
64                              quantity
65                              quantityreceived
66                              rrp
67                              serialid
68                              sort1
69                              sort2
70                              subscription
71                              supplierreference
72                              surname
73                              timestamp
74                              title
75                              totalamount
76                              unitprice );
77     my $firstorder = $orders->[0];
78     for my $field ( @expectedfields ) {
79         ok( exists( $firstorder->{ $field } ), "This order has a $field field" );
80     }
81 }