Lines 61-67
subtest 'add() tests' => sub {
Link Here
|
61 |
|
61 |
|
62 |
subtest 'librarian access tests' => sub { |
62 |
subtest 'librarian access tests' => sub { |
63 |
|
63 |
|
64 |
plan tests => 8; |
64 |
plan tests => 20; |
65 |
|
65 |
|
66 |
$schema->storage->txn_begin; |
66 |
$schema->storage->txn_begin; |
67 |
|
67 |
|
Lines 71-83
subtest 'add() tests' => sub {
Link Here
|
71 |
my $librarian = $builder->build_object( |
71 |
my $librarian = $builder->build_object( |
72 |
{ |
72 |
{ |
73 |
class => 'Koha::Patrons', |
73 |
class => 'Koha::Patrons', |
74 |
value => { flags => 2**6 } # reserveforothers flag = 6 |
74 |
value => { flags => 2 ** 6 } # reserveforothers flag = 6 |
75 |
} |
75 |
} |
76 |
); |
76 |
); |
77 |
my $password = 'thePassword123'; |
77 |
my $password = 'thePassword123'; |
78 |
$librarian->set_password( { password => $password, skip_validation => 1 } ); |
78 |
$librarian->set_password( { password => $password, skip_validation => 1 } ); |
79 |
my $userid = $librarian->userid; |
79 |
my $userid = $librarian->userid; |
80 |
|
80 |
|
|
|
81 |
my $non_existent_item = $builder->build_sample_item; |
82 |
my $non_existent_biblio = $non_existent_item->biblio; |
83 |
|
84 |
my $non_existent_item_id = $non_existent_item->id; |
85 |
my $non_existent_biblio_id = $non_existent_biblio->id; |
86 |
my $non_existent_item_homebranch = |
87 |
$non_existent_item->home_branch->branchcode; |
88 |
|
89 |
$non_existent_item->delete; |
90 |
$non_existent_biblio->delete; |
91 |
|
92 |
my $biblio = $builder->build_sample_biblio; |
93 |
|
94 |
$t->post_ok( |
95 |
"//$userid:$password@/api/v1/clubs/" |
96 |
. $club_with_enrollments->id |
97 |
. "/holds" => json => { |
98 |
biblio_id => $biblio->id, |
99 |
item_id => $item->id, |
100 |
pickup_library_id => $item->home_branch->branchcode |
101 |
} |
102 |
)->status_is(400) |
103 |
->json_is( '/error' => "Item " |
104 |
. $item->id |
105 |
. " doesn't belong to biblio " |
106 |
. $biblio->id ); |
107 |
|
108 |
$t->post_ok( |
109 |
"//$userid:$password@/api/v1/clubs/" |
110 |
. $club_with_enrollments->id |
111 |
. "/holds" => json => { |
112 |
pickup_library_id => $non_existent_item_homebranch |
113 |
} |
114 |
)->status_is(400) |
115 |
->json_is( |
116 |
'/error' => 'At least one of biblio_id, item_id should be given' ); |
117 |
|
118 |
$t->post_ok( |
119 |
"//$userid:$password@/api/v1/clubs/" |
120 |
. $club_with_enrollments->id |
121 |
. "/holds" => json => { |
122 |
biblio_id => $non_existent_biblio_id, |
123 |
pickup_library_id => $non_existent_item_homebranch |
124 |
} |
125 |
)->status_is(404)->json_is( '/error' => 'Biblio not found' ); |
126 |
|
127 |
$t->post_ok( |
128 |
"//$userid:$password@/api/v1/clubs/" |
129 |
. $club_with_enrollments->id |
130 |
. "/holds" => json => { |
131 |
item_id => $non_existent_item_id, |
132 |
pickup_library_id => $non_existent_item_homebranch |
133 |
} |
134 |
)->status_is(404)->json_is( '/error' => 'Item not found' ); |
135 |
|
81 |
my $data = { |
136 |
my $data = { |
82 |
biblio_id => $item->biblionumber, |
137 |
biblio_id => $item->biblionumber, |
83 |
pickup_library_id => $item->home_branch->branchcode |
138 |
pickup_library_id => $item->home_branch->branchcode |
84 |
- |
|
|