Bug 22008: Add tests for new constraints
authorMartin Renvoize <martin.renvoize@ptfs-europe.com>
Wed, 27 Feb 2019 12:02:36 +0000 (12:02 +0000)
committerNick Clemens <nick@bywatersolutions.com>
Fri, 22 Mar 2019 20:02:43 +0000 (20:02 +0000)
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

t/db_dependent/Koha/Account/Lines.t

index e5b5d9f..bf5634a 100755 (executable)
@@ -274,17 +274,25 @@ subtest 'apply() tests' => sub {
     $schema->storage->txn_rollback;
 };
 
-subtest 'Keep account info when a patron is deleted' => sub {
+subtest 'Keep account info when related patron, staff or item is deleted' => sub {
 
-    plan tests => 2;
+    plan tests => 3;
 
     $schema->storage->txn_begin;
 
     my $patron = $builder->build_object( { class => 'Koha::Patrons' } );
+    my $staff = $builder->build_object( { class => 'Koha::Patrons' } );
     my $item = $builder->build_object({ class => 'Koha::Items' });
+    my $issue = $builder->build_object(
+        {
+            class => 'Koha::Checkout',
+            value => { itemnumber => $item->itemnumber }
+        }
+    );
     my $line = Koha::Account::Line->new(
     {
         borrowernumber => $patron->borrowernumber,
+        manager_id     => $staff->borrowernumber,
         itemnumber     => $item->itemnumber,
         accounttype    => "F",
         amount         => 10,
@@ -294,6 +302,10 @@ subtest 'Keep account info when a patron is deleted' => sub {
     $line = $line->get_from_storage;
     is( $line->itemnumber, undef, "The account line should not be deleted when the related item is delete");
 
+    $staff->delete;
+    $line = $line->get_from_storage;
+    is( $line->manager_id, undef, "The account line should not be deleted when the related staff is delete");
+
     $patron->delete;
     $line = $line->get_from_storage;
     is( $line->borrowernumber, undef, "The account line should not be deleted when the related patron is delete");