From 601eaf354b80b3c320446f649891f113f551771d Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Wed, 26 Jul 2023 07:29:06 +0000 Subject: [PATCH] Bug 34415: Remove T::D::C from EdiTransport.t, move to t/db Moving file now here. Test plan: Run t/db_dependent/Koha/Edifact/Transport.t Signed-off-by: Marcel de Rooy Signed-off-by: Jonathan Druart Signed-off-by: Martin Renvoize --- t/EdiTransport.t | 57 ----------------------- t/db_dependent/Koha/Edifact/Transport.t | 61 +++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 57 deletions(-) delete mode 100755 t/EdiTransport.t create mode 100755 t/db_dependent/Koha/Edifact/Transport.t diff --git a/t/EdiTransport.t b/t/EdiTransport.t deleted file mode 100755 index fb2442ea7e7..00000000000 --- a/t/EdiTransport.t +++ /dev/null @@ -1,57 +0,0 @@ -#!/usr/bin/perl - -use Modern::Perl; -use FindBin qw( $Bin ); -use Test::More; -use Test::MockModule; -use Module::Load::Conditional qw/check_install/; - -BEGIN { - if ( check_install( module => 'Test::DBIx::Class' ) ) { - plan tests => 5; - } - else { - plan skip_all => 'Need Test::DBIx::Class'; - } - -} - -use Test::DBIx::Class; - -fixtures_ok [ - VendorEdiAccount => - [ [ 'id', 'description', 'transport' ], [ 1, 'test vendor', 'FILE' ], ], - EdifactMessage => [ - [ 'message_type', 'filename', 'raw_msg' ], - [ 'TEST', 'duplicate', 'message_contents' ], - ], - ], - 'add_fixtures'; - -my $filename = 'QUOTES_413514.CEQ'; - -my $db = Test::MockModule->new('Koha::Database'); -$db->mock( _new_schema => sub { return Schema(); } ); - -use_ok('Koha::Edifact::Transport'); - -my $trans = Koha::Edifact::Transport->new(1); - -isa_ok( $trans, 'Koha::Edifact::Transport' ); - -$trans->working_directory("$Bin/edi_testfiles"); - -my $mhash = $trans->message_hash(); -$mhash->{message_type} = 'TEST'; # set a bogus message type - -$trans->ingest( $mhash, $filename ); - -my $cnt = ResultSet('EdifactMessage')->count(); - -is( $cnt, 2, 'unique message name ingested' ); - -$trans->ingest( $mhash, $filename ); # try a repeat ingest - -my $cnt2 = ResultSet('EdifactMessage')->count(); - -is( $cnt2, 2, 'duplicate message name not ingested' ); diff --git a/t/db_dependent/Koha/Edifact/Transport.t b/t/db_dependent/Koha/Edifact/Transport.t new file mode 100755 index 00000000000..83f05afa68b --- /dev/null +++ b/t/db_dependent/Koha/Edifact/Transport.t @@ -0,0 +1,61 @@ +#!/usr/bin/perl + +use Modern::Perl; +use FindBin qw( $Bin ); +use Test::More tests => 6; +use Test::Warn; + +use t::lib::TestBuilder; + +use Koha::Database; + +use_ok('Koha::Edifact::Transport'); + +my $schema = Koha::Database->new->schema; +my $builder = t::lib::TestBuilder->new; + +$schema->storage->txn_begin; + +my $account = $builder->build( + { + source => 'VendorEdiAccount', + value => { + description => 'test vendor', transport => 'FILE', + } + } +); +$builder->build( + { + source => 'EdifactMessage', + value => { message_type => 'TEST', filename => 'duplicate', raw_msg => 'message_contents' } + } +); + +my $dirname = ( $Bin =~ /^(.*\/t\/)/ ? $1 . 'edi_testfiles/' : q{} ); +my $filename = 'QUOTES_413514.CEQ'; +ok( -e $dirname . $filename, 'File QUOTES_413514.CEQ found' ); + +my $trans = Koha::Edifact::Transport->new( $account->{id} ); + +isa_ok( $trans, 'Koha::Edifact::Transport' ); + +$trans->working_directory($dirname); + +my $mhash = $trans->message_hash(); +$mhash->{message_type} = 'TEST'; # set a bogus message type + +$trans->ingest( $mhash, $filename ); + +my $cnt = $schema->resultset('EdifactMessage')->count(); + +is( $cnt, 2, 'unique message name ingested' ); + +# try a repeat ingest +warning_like { $trans->ingest( $mhash, $filename ) } qr/skipping ingest of QUOTES_413514.CEQ/, + 'Warning on repeated ingest'; + +my $cnt2 = $schema->resultset('EdifactMessage')->count(); + +is( $cnt2, 2, 'duplicate message name not ingested' ); + +$schema->storage->txn_rollback; -- 2.41.0