5 use Test::More tests => 7;
11 use Koha::DateUtils qw( dt_from_string output_pref );
12 use Koha::Acquisition::Order;
14 my $dbh = C4::Context->dbh;
15 $dbh->{AutoCommit} = 0;
16 $dbh->{RaiseError} = 1;
18 my $booksellerid = C4::Bookseller::AddBookseller(
21 address1 => "bookseller's address",
27 my $basketno = C4::Acquisition::NewBasket(
31 my $budgetid = C4::Budgets::AddBudget(
33 budget_code => "budget_code_test_getordersbybib",
34 budget_name => "budget_name_test_getordersbybib",
38 my $budget = C4::Budgets::GetBudget( $budgetid );
40 my ($biblionumber1, $biblioitemnumber1) = AddBiblio(MARC::Record->new, '');
41 my ($biblionumber2, $biblioitemnumber2) = AddBiblio(MARC::Record->new, '');
44 # returns undef and croaks if basketno, quantity, biblionumber or budget_id is missing
45 my $order = eval { Koha::Acquisition::Order->new->insert };
46 my $return_error = $@;
49 && ( defined $return_error ),
50 "Inserting an order with no params returns undef and croaks"
53 my $mandatoryparams = {
54 basketno => $basketno,
56 biblionumber => $biblionumber1,
57 budget_id => $budgetid,
59 my @mandatoryparams_keys = keys %$mandatoryparams;
60 foreach my $mandatoryparams_key (@mandatoryparams_keys) {
61 my %test_missing_mandatoryparams = %$mandatoryparams;
62 delete $test_missing_mandatoryparams{$mandatoryparams_key};
64 Koha::Acquisition::Order->new( \%test_missing_mandatoryparams )->insert;
67 my $expected_error = "Cannot insert order: Mandatory parameter $mandatoryparams_key is missing";
69 ( !( defined $order ) )
70 && ( index( $return_error, $expected_error ) >= 0 ),
71 "Inserting an order with no $mandatoryparams_key returns undef and croaks with expected error message"
75 $order = Koha::Acquisition::Order->new(
77 basketno => $basketno,
79 biblionumber => $biblionumber1,
80 budget_id => $budget->{budget_id},
83 my $ordernumber = $order->{ordernumber};
84 $order = Koha::Acquisition::Order->fetch({ ordernumber => $ordernumber });
85 is( $order->{quantityreceived}, 0, 'Koha::Acquisition::Order->insert set quantityreceivedto 0 if undef is given' );
86 is( $order->{entrydate}, output_pref({ dt => dt_from_string, dateformat => 'iso', dateonly => 1 }), 'Koha::Acquisition::Order->insert set entrydate to today' );