From e0cf9f7d50aa4b7106c62d0cf7ab2cf73e64ea5e Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 19 Feb 2014 13:37:40 +0100 Subject: [PATCH] Bug 11744: Add regression tests Before the patch: prove t/db_dependent/Acquisition/CancelReceipt.t returns 1 failure. After the patch, the 2 tests pass. --- t/db_dependent/Acquisition/CancelReceipt.t | 84 ++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 t/db_dependent/Acquisition/CancelReceipt.t diff --git a/t/db_dependent/Acquisition/CancelReceipt.t b/t/db_dependent/Acquisition/CancelReceipt.t new file mode 100644 index 0000000..5d0ce5e --- /dev/null +++ b/t/db_dependent/Acquisition/CancelReceipt.t @@ -0,0 +1,84 @@ +#!/usr/bin/perl + +use Modern::Perl; + +use Test::More tests => 2; +use C4::Context; +use C4::Acquisition; +use C4::Biblio; +use C4::Items; +use C4::Bookseller; +use C4::Budgets; +use t::lib::Mocks; + +use Koha::DateUtils; +use MARC::Record; + +my $dbh = C4::Context->dbh; +$dbh->{RaiseError} = 1; +$dbh->{AutoCommit} = 0; + +my $booksellerid1 = C4::Bookseller::AddBookseller( + { + name => "my vendor 1", + address1 => "bookseller's address", + phone => "0123456", + active => 1 + } +); + +my $basketno1 = C4::Acquisition::NewBasket( + $booksellerid1 +); + +my $budgetid = C4::Budgets::AddBudget( + { + budget_code => "budget_code_test_transferorder", + budget_name => "budget_name_test_transferorder", + } +); + +my $budget = C4::Budgets::GetBudget( $budgetid ); + +my ($biblionumber, $biblioitemnumber) = AddBiblio(MARC::Record->new, ''); +my $itemnumber = AddItem({}, $biblionumber); + +t::lib::Mocks::mock_preference('AcqCreateItem', 'receiving'); +my ( undef, $ordernumber ) = C4::Acquisition::NewOrder( + { + basketno => $basketno1, + quantity => 2, + biblionumber => $biblionumber, + budget_id => $budget->{budget_id}, + } +); + +ModReceiveOrder( $biblionumber, $ordernumber, 2, undef, undef, undef, undef, undef, undef, dt_from_string ); + +NewOrderItem($itemnumber, $ordernumber); + +CancelReceipt($ordernumber); + +my $order = GetOrder( $ordernumber ); +is(scalar GetItemnumbersFromOrder($order->{ordernumber}), 0, "Create items on receiving: 0 item exist after cancelling a receipt"); + +t::lib::Mocks::mock_preference('AcqCreateItem', 'ordering'); +( undef, $ordernumber ) = C4::Acquisition::NewOrder( + { + basketno => $basketno1, + quantity => 2, + biblionumber => $biblionumber, + budget_id => $budget->{budget_id}, + } +); + +ModReceiveOrder( $biblionumber, $ordernumber, 2, undef, undef, undef, undef, undef, undef, dt_from_string ); + +NewOrderItem($itemnumber, $ordernumber); + +CancelReceipt($ordernumber); + +$order = GetOrder( $ordernumber ); +is(scalar GetItemnumbersFromOrder($order->{ordernumber}), 1, "Create items on ordering: items are not deleted after cancelling a receipt"); + +$dbh->rollback; -- 1.7.10.4