From 158ddef9997cf6e48fdb34a7bdfadd0b164e1b9e Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Mon, 4 Jul 2022 11:20:31 +0100 Subject: [PATCH] Bug 31080: Unit tests Unit tests for add_to_bundle functionality that prevents bundle nesting. Test plan 1) Run t/db_dependent/Koha/Item.t 2) The test should fail 3) Apply the second patch 4) Re-run the test and watch it pass. Signed-off-by: Katrin Fischer Signed-off-by: Marcel de Rooy Signed-off-by: Tomas Cohen Arazi --- t/db_dependent/Koha/Item.t | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/Koha/Item.t b/t/db_dependent/Koha/Item.t index cf438e4469..21ac0bae98 100755 --- a/t/db_dependent/Koha/Item.t +++ b/t/db_dependent/Koha/Item.t @@ -213,7 +213,7 @@ subtest 'bundle_host tests' => sub { }; subtest 'add_to_bundle tests' => sub { - plan tests => 3; + plan tests => 6; $schema->storage->txn_begin; @@ -223,6 +223,10 @@ subtest 'add_to_bundle tests' => sub { my $bundle_item1 = $builder->build_sample_item(); my $bundle_item2 = $builder->build_sample_item(); + throws_ok { $host_item->add_to_bundle($host_item) } + 'Koha::Exceptions::Item::Bundle::IsBundle', + 'Exception thrown if you try to add the item to itself'; + ok($host_item->add_to_bundle($bundle_item1), 'bundle_item1 added to bundle'); is($bundle_item1->notforloan, 1, 'add_to_bundle sets notforloan to BundleNotLoanValue'); @@ -230,6 +234,14 @@ subtest 'add_to_bundle tests' => sub { 'Koha::Exceptions::Object::DuplicateID', 'Exception thrown if you try to add the same item twice'; + throws_ok { $bundle_item1->add_to_bundle($bundle_item2) } + 'Koha::Exceptions::Item::Bundle::IsBundle', + 'Exception thrown if you try to add an item to a bundled item'; + + throws_ok { $bundle_item2->add_to_bundle($host_item) } + 'Koha::Exceptions::Item::Bundle::IsBundle', + 'Exception thrown if you try to add a bundle host to a bundle item'; + $schema->storage->txn_rollback; };