From b3616f555d6d11d0b42e3017a62ce77db56768b3 Mon Sep 17 00:00:00 2001
From: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Date: Thu, 1 Nov 2018 17:54:43 -0300
Subject: [PATCH] Bug 15774: Add missing tests for
 Koha::Object::Mixin::AdditionalFields

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
---
 .../Koha/Objects/Mixin/AdditionalFields.t          | 53 +++++++++++++++++-----
 1 file changed, 42 insertions(+), 11 deletions(-)

diff --git a/t/db_dependent/Koha/Objects/Mixin/AdditionalFields.t b/t/db_dependent/Koha/Objects/Mixin/AdditionalFields.t
index e06182e4d6..f15225e9f0 100755
--- a/t/db_dependent/Koha/Objects/Mixin/AdditionalFields.t
+++ b/t/db_dependent/Koha/Objects/Mixin/AdditionalFields.t
@@ -2,7 +2,7 @@
 
 use Modern::Perl;
 
-use Test::More tests => 10;
+use Test::More tests => 12;
 
 use Koha::Acquisition::Baskets; # Koha::Acquisition::Baskets uses the mixin
 use Koha::AdditionalFields;
@@ -42,16 +42,47 @@ Koha::AdditionalFieldValue->new({
     record_id => $basket1->basketno,
     value => 'bar value for basket1',
 })->store;
-Koha::AdditionalFieldValue->new({
-    field_id => $foo->id,
-    record_id => $basket2->basketno,
-    value => 'foo value for basket2',
-})->store;
-Koha::AdditionalFieldValue->new({
-    field_id => $bar->id,
-    record_id => $basket2->basketno,
-    value => 'bar value for basket2',
-})->store;
+
+my $additional_fields_for_basket2 = [
+    {
+        id    => $foo->id,
+        value => 'foo value for basket2',
+    },
+    {
+        id    => $bar->id,
+        value => 'bar value for basket2',
+    },
+];
+$basket2->set_additional_fields($additional_fields_for_basket2);
+
+my $additional_fields = $basket2->additional_field_values;
+is( ref($additional_fields), 'Koha::AdditionalFieldValues', '->additional_field_values should return a Koha::AdditionalFieldValues object' );
+is_deeply(
+    [
+        map {
+            {
+                # We are bascially removing the 'id' field here
+                field_id  => $_->{field_id},
+                record_id => $_->{record_id},
+                value     => $_->{value},
+            }
+        } @{ $additional_fields->unblessed }
+    ],
+    [
+        {
+            field_id  => $additional_fields_for_basket2->[0]->{id},
+            record_id => $basket2->basketno,
+            value     => $additional_fields_for_basket2->[0]->{value},
+        },
+        {
+            field_id  => $additional_fields_for_basket2->[1]->{id},
+            record_id => $basket2->basketno,
+            value     => $additional_fields_for_basket2->[1]->{value},
+        }
+
+    ],
+    '->additional_field_values should return the correct values'
+);
 
 my @baskets = Koha::Acquisition::Baskets->filter_by_additional_fields([
     {
-- 
2.11.0