Revert "Bug 7167: Adds Unit tests for C4::Update::Database"
[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 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                              biblioitemnumber
49                              biblionumber
50                              invoiceid
51                              budgetdate
52                              cancelledby
53                              closedate
54                              creationdate
55                              currency
56                              datecancellationprinted
57                              datereceived
58                              ecost
59                              entrydate
60                              firstname
61                              freight
62                              gstrate
63                              listprice
64                              notes
65                              ordernumber
66                              purchaseordernumber
67                              quantity
68                              quantityreceived
69                              rrp
70                              serialid
71                              sort1
72                              sort2
73                              subscription
74                              supplierreference
75                              surname
76                              timestamp
77                              title
78                              totalamount
79                              unitprice );
80     my $firstorder = $orders->[0];
81     for my $field ( @expectedfields ) {
82         ok( exists( $firstorder->{ $field } ), "This order has a $field field" );
83     }
84 }