Lines 81-87
subtest 'list() tests' => sub {
Link Here
|
81 |
|
81 |
|
82 |
subtest 'librarian access tests' => sub { |
82 |
subtest 'librarian access tests' => sub { |
83 |
|
83 |
|
84 |
plan tests => 21; |
84 |
plan tests => 15; |
85 |
|
85 |
|
86 |
$schema->storage->txn_begin; |
86 |
$schema->storage->txn_begin; |
87 |
|
87 |
|
Lines 137-155
subtest 'list() tests' => sub {
Link Here
|
137 |
->status_is(200) |
137 |
->status_is(200) |
138 |
->json_is('/0/address2' => $librarian->address2); |
138 |
->json_is('/0/address2' => $librarian->address2); |
139 |
|
139 |
|
140 |
my $patron = $builder->build_object( { class => 'Koha::Patrons' } ); |
140 |
subtest 'restricted & expired' => sub { |
141 |
AddDebarment( { borrowernumber => $patron->borrowernumber } ); |
|
|
142 |
|
141 |
|
143 |
$t->get_ok("//$userid:$password@/api/v1/patrons?restricted=" . Mojo::JSON->true . "&cardnumber=" . $patron->cardnumber ) |
142 |
plan tests => 13; |
144 |
->status_is(200) |
143 |
|
145 |
->json_has('/0/restricted') |
144 |
my $patron = $builder->build_object( { class => 'Koha::Patrons' } ); |
146 |
->json_is( '/0/restricted' => Mojo::JSON->true ) |
145 |
|
147 |
->json_hasnt('/1'); |
146 |
AddDebarment( { borrowernumber => $patron->borrowernumber } ); |
148 |
|
147 |
|
149 |
$t->get_ok( "//$userid:$password@/api/v1/patrons?" |
148 |
$t->get_ok("//$userid:$password@/api/v1/patrons?restricted=" . Mojo::JSON->true . "&cardnumber=" . $patron->cardnumber ) |
150 |
. 'q={"extended_attributes.type":"CODE"}' => |
149 |
->status_is(200) |
151 |
{ 'x-koha-embed' => 'extended_attributes' } ) |
150 |
->json_has('/0/restricted') |
152 |
->status_is( 200, "Works, doesn't explode" ); |
151 |
->json_is( '/0/restricted' => Mojo::JSON->true ) |
|
|
152 |
->json_has('/0/expired') |
153 |
->json_is( '/0/expired' => Mojo::JSON->false ) |
154 |
->json_hasnt('/1'); |
155 |
|
156 |
$patron->dateexpiry(dt_from_string->subtract(days => 2))->store; |
157 |
$t->get_ok("//$userid:$password@/api/v1/patrons/" . $patron->borrowernumber) |
158 |
->status_is(200) |
159 |
->json_has('/expired') |
160 |
->json_is( '/expired' => Mojo::JSON->true ); |
161 |
|
162 |
$t->get_ok( "//$userid:$password@/api/v1/patrons?" |
163 |
. 'q={"extended_attributes.type":"CODE"}' => |
164 |
{ 'x-koha-embed' => 'extended_attributes' } ) |
165 |
->status_is( 200, "Works, doesn't explode" ); |
166 |
}; |
153 |
|
167 |
|
154 |
subtest 'searching date and date-time fields' => sub { |
168 |
subtest 'searching date and date-time fields' => sub { |
155 |
|
169 |
|
Lines 443-448
subtest 'add() tests' => sub {
Link Here
|
443 |
# delete RO attributes |
457 |
# delete RO attributes |
444 |
delete $newpatron->{patron_id}; |
458 |
delete $newpatron->{patron_id}; |
445 |
delete $newpatron->{restricted}; |
459 |
delete $newpatron->{restricted}; |
|
|
460 |
delete $newpatron->{expired}; |
446 |
delete $newpatron->{anonymized}; |
461 |
delete $newpatron->{anonymized}; |
447 |
|
462 |
|
448 |
# Create a library just to make sure its ID doesn't exist on the DB |
463 |
# Create a library just to make sure its ID doesn't exist on the DB |
Lines 488-493
subtest 'add() tests' => sub {
Link Here
|
488 |
# delete RO attributes |
503 |
# delete RO attributes |
489 |
delete $newpatron->{patron_id}; |
504 |
delete $newpatron->{patron_id}; |
490 |
delete $newpatron->{restricted}; |
505 |
delete $newpatron->{restricted}; |
|
|
506 |
delete $newpatron->{expired}; |
491 |
delete $newpatron->{anonymized}; |
507 |
delete $newpatron->{anonymized}; |
492 |
$patron_to_delete->delete; |
508 |
$patron_to_delete->delete; |
493 |
|
509 |
|
Lines 739-744
subtest 'update() tests' => sub {
Link Here
|
739 |
# delete RO attributes |
755 |
# delete RO attributes |
740 |
delete $newpatron->{patron_id}; |
756 |
delete $newpatron->{patron_id}; |
741 |
delete $newpatron->{restricted}; |
757 |
delete $newpatron->{restricted}; |
|
|
758 |
delete $newpatron->{expired}; |
742 |
delete $newpatron->{anonymized}; |
759 |
delete $newpatron->{anonymized}; |
743 |
|
760 |
|
744 |
$t->put_ok("//$userid:$password@/api/v1/patrons/-1" => json => $newpatron) |
761 |
$t->put_ok("//$userid:$password@/api/v1/patrons/-1" => json => $newpatron) |
Lines 814-819
subtest 'update() tests' => sub {
Link Here
|
814 |
# Put back the RO attributes |
831 |
# Put back the RO attributes |
815 |
$newpatron->{patron_id} = $unauthorized_patron->to_api({ user => $authorized_patron })->{patron_id}; |
832 |
$newpatron->{patron_id} = $unauthorized_patron->to_api({ user => $authorized_patron })->{patron_id}; |
816 |
$newpatron->{restricted} = $unauthorized_patron->to_api({ user => $authorized_patron })->{restricted}; |
833 |
$newpatron->{restricted} = $unauthorized_patron->to_api({ user => $authorized_patron })->{restricted}; |
|
|
834 |
$newpatron->{expired} = $unauthorized_patron->to_api({ user => $authorized_patron })->{expired}; |
817 |
$newpatron->{anonymized} = $unauthorized_patron->to_api({ user => $authorized_patron })->{anonymized}; |
835 |
$newpatron->{anonymized} = $unauthorized_patron->to_api({ user => $authorized_patron })->{anonymized}; |
818 |
|
836 |
|
819 |
my $got = $result->tx->res->json; |
837 |
my $got = $result->tx->res->json; |
Lines 845-850
subtest 'update() tests' => sub {
Link Here
|
845 |
# delete RO attributes |
863 |
# delete RO attributes |
846 |
delete $newpatron->{patron_id}; |
864 |
delete $newpatron->{patron_id}; |
847 |
delete $newpatron->{restricted}; |
865 |
delete $newpatron->{restricted}; |
|
|
866 |
delete $newpatron->{expired}; |
848 |
delete $newpatron->{anonymized}; |
867 |
delete $newpatron->{anonymized}; |
849 |
|
868 |
|
850 |
# attempt to update |
869 |
# attempt to update |
851 |
- |
|
|