From fc9bacd45f04370eb7ae7c7cf2bd6ecf10d5350a Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Wed, 24 Feb 2016 17:56:23 +0000 Subject: [PATCH] Bug 15877 - Unit tests --- t/db_dependent/Barcodes.t | 51 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/t/db_dependent/Barcodes.t b/t/db_dependent/Barcodes.t index d987bd5..6a71345 100755 --- a/t/db_dependent/Barcodes.t +++ b/t/db_dependent/Barcodes.t @@ -17,8 +17,12 @@ use Modern::Perl; -use Test::More tests => 73; +use Test::More tests => 76; use Test::Warn; +use Test::MockModule; +use t::lib::TestBuilder; + +use Koha::Database; $| = 1; @@ -28,6 +32,51 @@ BEGIN { use_ok('C4::Barcodes'); } +my $schema = Koha::Database->new->schema; +$schema->storage->txn_begin; + +my $builder = t::lib::TestBuilder->new; + +my $dbh = C4::Context->dbh; + +#Test generation of annual barcodes from +$dbh->do(q|DELETE FROM issues|); +$dbh->do(q|DELETE FROM items|); + +my $barcodeobj = C4::Barcodes->new('annual'); + +my $barcodevalue = $barcodeobj->value(); + +my $item_1 = $builder->build({ + source => 'Item', + value => { + barcode => $barcodevalue + } +}); + +ok($barcodevalue eq $barcodeobj->db_max(), "(annual) First barcode saved to db is equal to db_max" ); + +$barcodevalue = $barcodeobj->next_value(); +$barcodevalue = $barcodeobj->next_value($barcodevalue); +$barcodevalue = $barcodeobj->next_value($barcodevalue); +$barcodevalue = $barcodeobj->next_value($barcodevalue); +$barcodevalue = $barcodeobj->next_value($barcodevalue); + +my $item_2 = $builder->build({ + source => 'Item', + value => { + barcode => $barcodevalue + } +}); + +$barcodeobj = C4::Barcodes->new('annual'); + +ok($barcodevalue eq $barcodeobj->db_max(), '(annual) db_max should equal the greatest barcode in the db when more than 1 present'); +ok($barcodeobj->value() gt $barcodevalue, '(annual) new barcode object should be created with value greater and last value inserted into db'); + +$dbh->do(q|DELETE FROM issues|); +$dbh->do(q|DELETE FROM items|); + my %thash = ( incremental => [], annual => [], -- 2.1.4