Bugzilla – Attachment 51478 Details for
Bug 15878
C4::Barcodes::hbyymmincr inccorectly calculates max and should warn when no branchcode present
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 15878 - Updated unit tests for hbyymmincr barcodes
Bug-15878---Updated-unit-tests-for-hbyymmincr-barc.patch (text/plain), 6.71 KB, created by
Nick Clemens (kidclamp)
on 2016-05-13 18:06:37 UTC
(
hide
)
Description:
Bug 15878 - Updated unit tests for hbyymmincr barcodes
Filename:
MIME Type:
Creator:
Nick Clemens (kidclamp)
Created:
2016-05-13 18:06:37 UTC
Size:
6.71 KB
patch
obsolete
>From c4c9a0f55d56f58daf9153e13c525a9098ac66b0 Mon Sep 17 00:00:00 2001 >From: Nick Clemens <nick@bywatersolutions.com> >Date: Fri, 13 May 2016 14:02:33 -0400 >Subject: [PATCH] Bug 15878 - Updated unit tests for hbyymmincr barcodes > >Test plan in second patch >--- > t/db_dependent/Barcodes.t | 92 ++++++++++++++++++++++++++++++++++++++++++----- > 1 file changed, 83 insertions(+), 9 deletions(-) > >diff --git a/t/db_dependent/Barcodes.t b/t/db_dependent/Barcodes.t >index e7a74a0..8be8a28 100755 >--- a/t/db_dependent/Barcodes.t >+++ b/t/db_dependent/Barcodes.t >@@ -17,7 +17,7 @@ > > use Modern::Perl; > >-use Test::More tests => 74; >+use Test::More tests => 75; > use Test::Warn; > use Test::MockModule; > use t::lib::TestBuilder; >@@ -84,6 +84,67 @@ subtest 'Test generation of annual barcodes from DB values' => sub { > }; > > >+$schema->storage->txn_begin; >+subtest 'Test generation of hbyymmincr barcodes from DB values' => sub { >+ >+ plan tests => 5; >+ >+ $builder->schema->resultset( 'Issue' )->delete_all; >+ $builder->schema->resultset( 'Item' )->delete_all; >+ >+ my$barcode_branch = $builder->build({ >+ source => 'Branch', >+ branchcode => 'LETTERS', >+ }); >+ >+ my $branchcode_1 = "LETT"; >+ print "$branchcode_1\n"; >+ my $barcodeobj; >+ >+ warnings_are { $barcodeobj = C4::Barcodes->new('hbyymmincr'); } >+ [ "HBYYMM Barcode created with no branchcode, default is blank", >+ "No existing hbyymmincr barcodes found. Reverting to initial value.", >+ "HBYYMM Barcode was not passed a branch, default is blank"] >+ , "(hbyymmincr) Expected complaint regarding no max barcode found"; >+ >+ >+ warning_like { $barcodeobj = C4::Barcodes->new('hbyymmincr',$branchcode_1); } >+ [ qr/No existing hbyymmincr barcodes found\. Reverting to initial value\./], >+ "(hbyymmincr) Expected complaint regarding no max barcode found"; >+ >+ my $barcodevalue = $barcodeobj->value(); >+ >+ my $item_1 = $builder->build({ >+ source => 'Item', >+ value => { >+ barcode => $barcodevalue >+ } >+ }); >+ >+ is($barcodevalue,$barcodeobj->db_max(), "(hbyymmincr) First barcode saved to db is equal to db_max" ); >+ >+ #This is just setting the value ahead an arbitrary amount before adding a second barcode to db >+ $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('hbyymmincr',$branchcode_1); >+ >+ is($barcodevalue,$barcodeobj->db_max(), '(hbyymmincr) db_max should equal the greatest barcode in the db when more than 1 present'); >+ ok($barcodeobj->value() gt $barcodevalue, '(hbyymmincr) new barcode object should be created with value greater and last value inserted into db'); >+ >+ $schema->storage->txn_rollback; >+}; >+ > $builder->schema->resultset( 'Issue' )->delete_all; > $builder->schema->resultset( 'Item' )->delete_all; > >@@ -109,9 +170,11 @@ foreach (@formats) { > "$pre Expected complaint regarding no max barcode found"; > } > elsif ($_ eq 'hbyymmincr') { >- warning_like { $obj1 = C4::Barcodes->new($_); } >- [ qr/No existing hbyymmincr barcodes found\. Reverting to initial value\./ ], >- "$pre Expected complaint regarding no hbyymmincr barcodes found"; >+ warnings_are { $obj1 = C4::Barcodes->new($_); } >+ [ "HBYYMM Barcode created with no branchcode, default is blank", >+ "No existing hbyymmincr barcodes found. Reverting to initial value.", >+ "HBYYMM Barcode was not passed a branch, default is blank"] >+ , "$pre Expected complaint regarding no max barcode found"; > } > elsif ($_ eq 'incremental') { > $obj1 = C4::Barcodes->new($_); >@@ -123,20 +186,31 @@ foreach (@formats) { > SKIP: { > skip "No Object Returned by new($_)", 17 unless $obj1; > ok($_ eq ($format = $obj1->autoBarcode()), "$pre autoBarcode() : " . ($format || 'FAILED') ); >- ok($initial= $obj1->initial(), "$pre initial() : " . ($initial|| 'FAILED') ); >+# ok($initial= $obj1->initial(), "$pre initial() : " . ($initial|| 'FAILED') ); > if ($_ eq 'hbyymmincr') { >- warning_like { $temp = $obj1->db_max(); } >- [ qr/No existing hbyymmincr barcodes found\. Reverting to initial value\./ ], >- "$pre Expected complaint regarding no hbyymmincr barcodes found"; >+ warning_like { $initial= $obj1->initial(); } >+ [ qr/HBYYMM Barcode was not passed a branch, default is blank/ ] >+ ,"$pre Expected complaint regarding no branch passed when getting initial\n $pre initial() : " . $initial ; >+ warnings_are { $temp = $obj1->db_max(); } >+ [ "No existing hbyymmincr barcodes found. Reverting to initial value.", >+ "HBYYMM Barcode was not passed a branch, default is blank"] >+ ,"$pre Expected complaint regarding no hbyymmincr barcodes found"; > } > else { >+ ok($initial= $obj1->initial(), "$pre initial() : " . ($initial|| 'FAILED') ); > $temp = $obj1->db_max(); > } > ok($temp = $obj1->max(), "$pre max() : " . ($temp || 'FAILED') ); > ok($value = $obj1->value(), "$pre value() : " . ($value || 'FAILED') ); > ok($serial = $obj1->serial(), "$pre serial() : " . ($serial || 'FAILED') ); > ok($temp = $obj1->is_max(), "$pre obj1->is_max() [obj1 should currently be max]"); >- ok($obj2 = $obj1->new(), "$pre Barcode Creation : obj2 = obj1->new()"); >+ if ($_ eq 'hbyymmincr') { >+ warning_like { $obj2 = $obj1->new(); } >+ [ qr/HBYYMM Barcode created with no branchcode, default is blank/ ] >+ ,"$pre Expected complaint regarding no branch passed when getting initial\n $pre Barcode Creation : obj2 = obj1->new()" ; >+ } else { >+ ok($obj2 = $obj1->new(), "$pre Barcode Creation : obj2 = obj1->new()"); >+ } > ok(not($obj1->is_max()), "$pre obj1->is_max() [obj1 should no longer be max]"); > ok( $obj2->is_max(), "$pre obj2->is_max() [obj2 should currently be max]"); > ok($obj2->serial == $obj1->serial + 1, "$pre obj2->serial() : " . ($obj2->serial || 'FAILED')); >-- >2.1.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 15878
:
51477
|
51478
|
51479
|
51624
|
51625
|
51688
|
51690
|
51691
|
51692
|
51694
|
51695