Bugzilla – Attachment 137074 Details for
Bug 23681
Make patron restrictions user definable
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 23681: Add unit tests
Bug-23681-Add-unit-tests.patch (text/plain), 5.06 KB, created by
Martin Renvoize (ashimema)
on 2022-07-04 14:19:11 UTC
(
hide
)
Description:
Bug 23681: Add unit tests
Filename:
MIME Type:
Creator:
Martin Renvoize (ashimema)
Created:
2022-07-04 14:19:11 UTC
Size:
5.06 KB
patch
obsolete
>From d8657575d2ef9aafa900778f1d731e87f2704716 Mon Sep 17 00:00:00 2001 >From: Andrew Isherwood <andrew.isherwood@ptfs-europe.com> >Date: Fri, 4 Oct 2019 11:38:19 +0100 >Subject: [PATCH] Bug 23681: Add unit tests > >Signed-off-by: Benjamin Veasey <B.T.Veasey@lboro.ac.uk> >Sponsored-by: Loughborough University >--- > t/db_dependent/RestrictionType.t | 60 +++++++++++++++++ > t/db_dependent/RestrictionTypes.t | 105 ++++++++++++++++++++++++++++++ > 2 files changed, 165 insertions(+) > create mode 100644 t/db_dependent/RestrictionType.t > create mode 100644 t/db_dependent/RestrictionTypes.t > >diff --git a/t/db_dependent/RestrictionType.t b/t/db_dependent/RestrictionType.t >new file mode 100644 >index 0000000000..28bc464e19 >--- /dev/null >+++ b/t/db_dependent/RestrictionType.t >@@ -0,0 +1,60 @@ >+#!/usr/bin/perl >+ >+use Modern::Perl; >+ >+use C4::Context; >+use Koha::Database; >+use t::lib::TestBuilder; >+ >+use Test::More tests => 3; >+ >+my $schema = Koha::Database->new->schema; >+$schema->storage->txn_begin; >+my $dbh = C4::Context->dbh; >+my $builder = t::lib::TestBuilder->new; >+ >+use_ok('Koha::RestrictionType'); >+use_ok('Koha::RestrictionTypes'); >+ >+$dbh->do(q|DELETE FROM borrower_debarments|); >+Koha::RestrictionTypes->search->delete; >+ >+$builder->build({ >+ source => 'DebarmentType', >+ value => { >+ code => 'ONE', >+ display_text => 'One', >+ ronly => 1, >+ dflt => 0 >+ } >+}); >+$builder->build({ >+ source => 'DebarmentType', >+ value => { >+ code => 'TWO', >+ display_text => 'Two', >+ ronly => 1, >+ dflt => 1 >+ } >+}); >+ >+# keyed_on_code >+my $keyed = Koha::RestrictionTypes->keyed_on_code; >+my $expecting = { >+ ONE => { >+ code => 'ONE', >+ display_text => 'One', >+ ronly => 1, >+ dflt => 0 >+ }, >+ TWO => { >+ code => 'TWO', >+ display_text => 'Two', >+ ronly => 1, >+ dflt => 1 >+ } >+}; >+ >+is_deeply($keyed, $expecting, 'keyed_on_code returns correctly'); >+ >+$schema->storage->txn_rollback; >diff --git a/t/db_dependent/RestrictionTypes.t b/t/db_dependent/RestrictionTypes.t >new file mode 100644 >index 0000000000..567631a8a7 >--- /dev/null >+++ b/t/db_dependent/RestrictionTypes.t >@@ -0,0 +1,105 @@ >+#!/usr/bin/perl >+ >+use Modern::Perl; >+ >+use C4::Context; >+use Koha::Database; >+use t::lib::TestBuilder; >+ >+use Test::More tests => 6; >+ >+my $schema = Koha::Database->new->schema; >+$schema->storage->txn_begin; >+my $dbh = C4::Context->dbh; >+my $builder = t::lib::TestBuilder->new; >+ >+use_ok('Koha::RestrictionType'); >+use_ok('Koha::RestrictionTypes'); >+ >+$dbh->do(q|DELETE FROM borrower_debarments|); >+Koha::RestrictionTypes->search->delete; >+ >+$builder->build({ >+ source => 'DebarmentType', >+ value => { >+ code => 'ONE', >+ display_text => 'One', >+ ronly => 1, >+ dflt => 0 >+ } >+}); >+$builder->build({ >+ source => 'DebarmentType', >+ value => { >+ code => 'TWO', >+ display_text => 'Two', >+ ronly => 1, >+ dflt => 1 >+ } >+}); >+$builder->build({ >+ source => 'DebarmentType', >+ value => { >+ code => 'THREE', >+ display_text => 'Three', >+ ronly => 1, >+ dflt => 0 >+ } >+}); >+$builder->build({ >+ source => 'DebarmentType', >+ value => { >+ code => 'FOUR', >+ display_text => 'Four', >+ ronly => 0, >+ dflt => 0 >+ } >+}); >+$builder->build({ >+ source => 'DebarmentType', >+ value => { >+ code => 'FIVE', >+ display_text => 'Five', >+ ronly => 0, >+ dflt => 0 >+ } >+}); >+ >+# Can we create RestrictionTypes >+my $created = Koha::RestrictionTypes->find({ code => 'ONE' }); >+ok( $created->display_text eq 'One', 'Restrictions created'); >+ >+# Can we delete RestrictionTypes, when appropriate >+my $deleted = Koha::RestrictionTypes->find({ code => 'FOUR' })->delete; >+ok( $deleted == 1, 'Restriction deleted'); >+my $not_deleted = Koha::RestrictionTypes->find({ code => 'TWO' })->delete; >+ok( $not_deleted == 0, 'Read only restriction not deleted'); >+ >+ >+# Add a patron with a debarment >+my $library = $builder->build({ source => 'Branch' }); >+ >+my $patron_category = $builder->build({ source => 'Category' }); >+my $borrowernumber = Koha::Patron->new({ >+ firstname => 'my firstname', >+ surname => 'my surname', >+ categorycode => $patron_category->{categorycode}, >+ branchcode => $library->{branchcode}, >+})->store->borrowernumber; >+ >+Koha::Patron::Debarments::AddDebarment({ >+ borrowernumber => $borrowernumber, >+ expiration => '9999-06-10', >+ type => 'FIVE', >+ comment => 'Test 1', >+}); >+ >+# Now delete a code and check debarments using that code switch to >+# using the default >+my $to_delete = Koha::RestrictionTypes->find({ code => 'FIVE' })->delete; >+my $debarments = Koha::Patron::Debarments::GetDebarments({ >+ borrowernumber => $borrowernumber >+}); >+is( $debarments->[0]->{type}, 'TWO', 'Debarments update with restrictions' ); >+ >+$schema->storage->txn_rollback; >-- >2.20.1
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 23681
:
93769
|
93770
|
93771
|
93772
|
93773
|
93774
|
93775
|
93776
|
93777
|
93778
|
93779
|
93780
|
93781
|
93782
|
93783
|
93784
|
93785
|
93786
|
94862
|
94863
|
94864
|
94865
|
94866
|
94867
|
94868
|
94869
|
94870
|
94896
|
94897
|
94898
|
94899
|
94900
|
94901
|
94902
|
94903
|
94904
|
95148
|
95255
|
95256
|
95257
|
95258
|
95259
|
95260
|
95261
|
95262
|
95263
|
95264
|
99893
|
99894
|
99895
|
99896
|
99897
|
99898
|
99899
|
99900
|
99901
|
99902
|
130373
|
130374
|
130375
|
130376
|
130377
|
130378
|
130379
|
130380
|
130381
|
130382
|
130383
|
130384
|
132302
|
132303
|
132304
|
132305
|
132306
|
132307
|
132308
|
132309
|
132310
|
132311
|
132312
|
132313
|
132314
|
132315
|
132316
|
132318
|
132319
|
132320
|
134512
|
134513
|
134514
|
134515
|
134516
|
134517
|
134518
|
134519
|
134520
|
134521
|
134522
|
134523
|
134524
|
134525
|
134526
|
134527
|
134528
|
134529
|
134580
|
134581
|
134582
|
134583
|
134584
|
134585
|
134586
|
134587
|
134588
|
134589
|
134590
|
134591
|
134592
|
134593
|
134594
|
134595
|
134596
|
134597
|
134598
|
134599
|
134600
|
134601
|
134602
|
134684
|
134685
|
134686
|
134687
|
134688
|
134689
|
134690
|
134691
|
134692
|
134693
|
134694
|
134696
|
134697
|
134698
|
134699
|
134700
|
134701
|
134702
|
134703
|
134704
|
134705
|
134706
|
134707
|
134708
|
136716
|
136717
|
136718
|
136719
|
136720
|
136721
|
136722
|
136723
|
136724
|
136725
|
136726
|
136727
|
136728
|
136729
|
136730
|
136731
|
136732
|
136733
|
136734
|
136735
|
136736
|
136737
|
136738
|
136739
|
137066
|
137067
|
137068
|
137069
|
137070
|
137071
|
137072
|
137073
|
137074
|
137075
|
137076
|
137077
|
137078
|
137079
|
137080
|
137081
|
137082
|
137083
|
137084
|
137085
|
137086
|
137087
|
137088
|
137089
|
137090
|
137091
|
137092
|
137093
|
137094
|
137102
|
137103
|
137104
|
137105
|
137106
|
137107
|
137108
|
137109
|
137110
|
137111
|
137112
|
137113
|
137114
|
137115
|
137116
|
137117
|
137118
|
137119
|
137120
|
137121
|
137122
|
137123
|
137124
|
137125
|
137126
|
137127
|
137128
|
137129
|
137130
|
139250
|
139251
|
139252
|
139253
|
139254
|
139255
|
139256
|
139257
|
139258
|
139259
|
139260
|
139261
|
139262
|
139263
|
139264
|
139265
|
139266
|
139267
|
139268
|
139269
|
139270
|
139271
|
139272
|
139273
|
139509
|
139512
|
139649
|
139717
|
139768
|
139769
|
139770
|
139771
|
139772
|
139773
|
139774
|
139775
|
139776
|
139777
|
139778
|
139779
|
139780
|
139781
|
139782
|
139783
|
139784
|
139785
|
139786
|
139787
|
139788
|
139789
|
139790
|
139791
|
139792
|
139793
|
139794
|
139795