From e56c7f09551cf6f4f1fc3d6aa0e583aa3e337dd7 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Wed, 30 Jun 2021 14:26:02 +0100 Subject: [PATCH] Bug 28640: Unit tests for edi_order relation --- t/db_dependent/Koha/Acquisition/Basket.t | 42 +++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/Koha/Acquisition/Basket.t b/t/db_dependent/Koha/Acquisition/Basket.t index 7b6c17d552..f0747331ba 100755 --- a/t/db_dependent/Koha/Acquisition/Basket.t +++ b/t/db_dependent/Koha/Acquisition/Basket.t @@ -19,7 +19,7 @@ use Modern::Perl; -use Test::More tests => 12; +use Test::More tests => 13; use Test::Exception; use t::lib::TestBuilder; @@ -303,6 +303,46 @@ subtest 'orders' => sub { $schema->storage->txn_rollback; }; +subtest 'edi_order' => sub { + + plan tests => 3; + + $schema->storage->txn_begin; + + my $basket = $builder->build_object( + { + class => 'Koha::Acquisition::Baskets' + } + ); + + is( $basket->edi_order, undef, + 'edi_order returns undefined if there are no edi_messages of type "ORDER" attached' ); + + my $order_message_1 = $builder->build( + { + source => 'EdifactMessage', + value => { basketno => $basket->basketno, message_type => 'ORDERS', transfer_date => '2019-07-30' } + } + ); + + my $edi_message = $basket->edi_order; + is( ref($edi_message), 'Koha::Schema::Result::EdifactMessage', + 'edi_order returns an EdifactMessage if one is attached' ); + + my $order_message_2 = $builder->build( + { + source => 'EdifactMessage', + value => { basketno => $basket->basketno, message_type => 'ORDERS' } + } + ); + + $edi_message = $basket->edi_order; + is( $edi_message->id, $order_message_2->{id}, + 'edi_order returns the most recently associated ORDERS EdifactMessage' ); + + $schema->storage->txn_rollback; +}; + subtest 'is_closed() tests' => sub { plan tests => 2; -- 2.20.1