3 # This Koha test module is a stub!
4 # Add more tests here!!!
9 use POSIX qw(strftime);
11 use C4::Bookseller qw( GetBookSellerFromId );
13 use Test::More tests => 42;
16 use_ok('C4::Acquisition');
20 my $booksellerinfo = GetBookSellerFromId( $booksellerid );
21 # diag( Data::Dumper->Dump( [ $booksellerinfo ], [ 'booksellerinfo' ] ) );
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");
32 my $orders = GetPendingOrders( $supplierid, $grouped );
33 isa_ok( $orders, 'ARRAY' );
35 # testing GetOrdersByBiblionumber
36 # result should be undef if no params
37 my @ordersbybiblionumber = GetOrdersByBiblionumber();
38 is(@ordersbybiblionumber,0,'GetOrdersByBiblionumber : no argument, return undef');
39 # TODO : create 2 orders using the same biblionumber, and check the result of GetOrdersByBiblionumber
40 # if a record is used in at least one order, result should be an array with at least one element
42 skip 'No Orders, cannot test GetOrdersByBiblionumber', 3 unless( scalar @$orders );
43 my $testorder = @$orders[0];
44 my $testbiblio = $testorder->{'biblionumber'};
45 my @listorders = GetOrdersByBiblionumber($testbiblio);
46 isa_ok( ref @listorders, 'ARRAY','GetOrdersByBiblionumber : result is an array' );
47 ok( scalar (@listorders) >0,'GetOrdersByBiblionumber : result contains at least one element' );
48 my @matched_biblios = grep {$_->{biblionumber} == $testbiblio} @listorders;
49 ok ( @matched_biblios == @listorders, "all orders match");
52 my @lateorders = GetLateOrders(0);
54 skip 'No Late Orders, cannot test AddClaim', 1 unless @lateorders;
55 my $order = $lateorders[0];
56 AddClaim( $order->{ordernumber} );
57 my $neworder = GetOrder( $order->{ordernumber} );
58 is( $neworder->{claimed_date}, strftime( "%Y-%m-%d", localtime(time) ), "AddClaim : Check claimed_date" );
62 skip 'No relevant orders in database, cannot test baskets', 33 unless( scalar @$orders );
63 # diag( Data::Dumper->Dump( [ $orders ], [ 'orders' ] ) );
64 my @expectedfields = qw( basketno
73 datecancellationprinted
96 my $firstorder = $orders->[0];
97 for my $field ( @expectedfields ) {
98 ok( exists( $firstorder->{ $field } ), "This order has a $field field" );