Bug 11744: Add regression tests
authorJonathan Druart <jonathan.druart@biblibre.com>
Wed, 19 Feb 2014 12:37:40 +0000 (13:37 +0100)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Mon, 14 Jul 2014 14:31:41 +0000 (11:31 -0300)
Before the patch:
 prove t/db_dependent/Acquisition/CancelReceipt.t
returns 1 failure.
After the patch, the 2 tests pass.

Signed-off-by: marjorie barry-vila <marjorie.barry-vila@ccsr.qc.ca>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Yay! Regression tests!

t/db_dependent/Acquisition/CancelReceipt.t [new file with mode: 0644]

diff --git a/t/db_dependent/Acquisition/CancelReceipt.t b/t/db_dependent/Acquisition/CancelReceipt.t
new file mode 100644 (file)
index 0000000..e2d4e4d
--- /dev/null
@@ -0,0 +1,98 @@
+#!/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     => $biblionumber,
+        ordernumber      => $ordernumber,
+        quantityreceived => 2,
+        datereceived     => 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     => $biblionumber,
+        ordernumber      => $ordernumber,
+        quantityreceived => 2,
+        datereceived     => 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;