From f0a254eb0dad2349d9fe1ee234e57ac685a85992 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Fri, 17 May 2013 15:11:35 +0200 Subject: [PATCH] MT10274: UT: Acquisition.t needs to create its own data Try before the patch: prove t/db_dependent/Acquisition.t And after, it should produce: t/db_dependent/Acquisition.t .. ok All tests successful. Files=1, Tests=41, 2 wallclock secs ( 0.03 usr 0.00 sys + 0.42 cusr 0.02 csys = 0.47 CPU) Result: PASS --- t/db_dependent/Acquisition.t | 174 +++++++++++++++++++++++++++--------------- 1 file changed, 111 insertions(+), 63 deletions(-) diff --git a/t/db_dependent/Acquisition.t b/t/db_dependent/Acquisition.t index c015425..6e7e3b8 100755 --- a/t/db_dependent/Acquisition.t +++ b/t/db_dependent/Acquisition.t @@ -3,81 +3,129 @@ # This Koha test module is a stub! # Add more tests here!!! -use strict; -use warnings; -use Data::Dumper; +use Modern::Perl; use POSIX qw(strftime); -use C4::Bookseller qw( GetBookSellerFromId ); - -use Test::More tests => 37; +use Test::More tests => 41; BEGIN { use_ok('C4::Acquisition'); + use_ok('C4::Bookseller'); + use_ok('C4::Biblio'); + use_ok('C4::Budgets'); + use_ok('C4::Bookseller'); } -my $booksellerid = 1; -my $booksellerinfo = GetBookSellerFromId( $booksellerid ); -# diag( Data::Dumper->Dump( [ $booksellerinfo ], [ 'booksellerinfo' ] ) ); -SKIP: { - skip 'No booksellers in database, cannot test baskets', 2 unless $booksellerinfo; - my ($basket, $basketno); - ok($basketno = NewBasket(1,1), "NewBasket( 1 , 1 ) returns $basketno"); - ok($basket = GetBasket($basketno), "GetBasket($basketno) returns $basket"); -} +my $booksellerid = C4::Bookseller::AddBookseller( + { + name => "my vendor", + address1 => "bookseller's address", + phone => "0123456", + active => 1 + } +); + +my $booksellerinfo = C4::Bookseller::GetBookSellerFromId( $booksellerid ); +my ($basket, $basketno); +ok($basketno = NewBasket($booksellerid, 1), "NewBasket( $booksellerid , 1 ) returns $basketno"); +ok($basket = GetBasket($basketno), "GetBasket($basketno) returns $basket"); + +my $budgetid = C4::Budgets::AddBudget( + { + budget_code => "budget_code_test_getordersbybib", + budget_name => "budget_name_test_getordersbybib", + } +); +my $budget = C4::Budgets::GetBudget( $budgetid ); + +my ($ordernumber1, $ordernumber2, $ordernumber3); +my ($biblionumber1, $biblioitemnumber1) = AddBiblio(MARC::Record->new, ''); +my ($biblionumber2, $biblioitemnumber2) = AddBiblio(MARC::Record->new, ''); +( undef, $ordernumber1 ) = C4::Acquisition::NewOrder( + { + basketno => $basketno, + quantity => 24, + biblionumber => $biblionumber1, + budget_id => $budget->{budget_id}, + } +); + +( undef, $ordernumber2 ) = C4::Acquisition::NewOrder( + { + basketno => $basketno, + quantity => 42, + biblionumber => $biblionumber2, + budget_id => $budget->{budget_id}, + } +); + +( undef, $ordernumber3 ) = C4::Acquisition::NewOrder( + { + basketno => $basketno, + quantity => 4, + biblionumber => $biblionumber2, + budget_id => $budget->{budget_id}, + ecost => 42, + rrp => 42, + } +); -my $supplierid = 1; my $grouped = 0; -my $orders = GetPendingOrders( $supplierid, $grouped ); +my $orders = GetPendingOrders( $booksellerid, $grouped ); isa_ok( $orders, 'ARRAY' ); +C4::Acquisition::CloseBasket( $basketno ); my @lateorders = GetLateOrders(0); -SKIP: { - skip 'No Late Orders, cannot test AddClaim', 1 unless @lateorders; - my $order = $lateorders[0]; - AddClaim( $order->{ordernumber} ); - my $neworder = GetOrder( $order->{ordernumber} ); - is( $neworder->{claimed_date}, strftime( "%Y-%m-%d", localtime(time) ), "AddClaim : Check claimed_date" ); -} +my $order = $lateorders[0]; +AddClaim( $order->{ordernumber} ); +my $neworder = GetOrder( $order->{ordernumber} ); +is( $neworder->{claimed_date}, strftime( "%Y-%m-%d", localtime(time) ), "AddClaim : Check claimed_date" ); -SKIP: { - skip 'No relevant orders in database, cannot test baskets', 33 unless( scalar @$orders ); - # diag( Data::Dumper->Dump( [ $orders ], [ 'orders' ] ) ); - my @expectedfields = qw( basketno - biblioitemnumber - biblionumber - invoiceid - budgetdate - cancelledby - closedate - creationdate - currency - datecancellationprinted - datereceived - ecost - entrydate - firstname - freight - gstrate - listprice - notes - ordernumber - purchaseordernumber - quantity - quantityreceived - rrp - sort1 - sort2 - subscriptionid - supplierreference - surname - timestamp - title - totalamount - unitprice ); - my $firstorder = $orders->[0]; - for my $field ( @expectedfields ) { - ok( exists( $firstorder->{ $field } ), "This order has a $field field" ); - } +my @expectedfields = qw( basketno + biblioitemnumber + biblionumber + invoiceid + budgetdate + cancelledby + closedate + creationdate + currency + datecancellationprinted + datereceived + ecost + entrydate + firstname + freight + gstrate + listprice + notes + ordernumber + purchaseordernumber + quantity + quantityreceived + rrp + sort1 + sort2 + subscriptionid + supplierreference + surname + timestamp + title + totalamount + unitprice ); +my $firstorder = $orders->[0]; +for my $field ( @expectedfields ) { + ok( exists( $firstorder->{ $field } ), "This order has a $field field" ); } + +END { + C4::Acquisition::DelOrder( 1, $ordernumber1 ); + C4::Acquisition::DelOrder( 2, $ordernumber2 ); + C4::Acquisition::DelOrder( 3, $ordernumber3 ); + C4::Budgets::DelBudget( $budgetid ); + C4::Acquisition::DelBasket( $basketno ); + C4::Bookseller::DelBookseller( $booksellerid ); + C4::Biblio::DelBiblio($biblionumber1); + C4::Biblio::DelBiblio($biblionumber2); +}; -- 1.7.10.4