6b11f16d4c961b2dee1766e983720f2eed594abf
[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 => 36;
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 SKIP: {
37    skip 'No Late Orders, cannot test AddClaim', 1 unless @lateorders;
38    my $order = $lateorders[0];
39    AddClaim( $order->{ordernumber} );
40    my $neworder = GetOrder( $order->{ordernumber} );
41    is( $neworder->{claimed_date}, strftime( "%Y-%m-%d", localtime(time) ), "AddClaim : Check claimed_date" );
42 }
43
44 SKIP: {
45     skip 'No relevant orders in database, cannot test baskets', 33 unless( scalar @$orders );
46     # diag( Data::Dumper->Dump( [ $orders ], [ 'orders' ] ) );
47     my @expectedfields = qw( basketno
48                              biblionumber
49                              invoiceid
50                              budgetdate
51                              cancelledby
52                              closedate
53                              creationdate
54                              currency
55                              datecancellationprinted
56                              datereceived
57                              ecost
58                              entrydate
59                              firstname
60                              freight
61                              gstrate
62                              listprice
63                              notes
64                              ordernumber
65                              purchaseordernumber
66                              quantity
67                              quantityreceived
68                              rrp
69                              sort1
70                              sort2
71                              subscriptionid
72                              supplierreference
73                              surname
74                              timestamp
75                              title
76                              totalamount
77                              unitprice );
78     my $firstorder = $orders->[0];
79     for my $field ( @expectedfields ) {
80         ok( exists( $firstorder->{ $field } ), "This order has a $field field" );
81     }
82 }