Lines 53-58
subtest 'new() tests' => sub {
Link Here
|
53 |
# Create new pending modification |
53 |
# Create new pending modification |
54 |
Koha::Patron::Modification->new( |
54 |
Koha::Patron::Modification->new( |
55 |
{ verification_token => '1234567890', |
55 |
{ verification_token => '1234567890', |
|
|
56 |
changed_fields => 'surname,firstname', |
56 |
surname => 'Hall', |
57 |
surname => 'Hall', |
57 |
firstname => 'Kyle' |
58 |
firstname => 'Kyle' |
58 |
} |
59 |
} |
Lines 69-74
subtest 'new() tests' => sub {
Link Here
|
69 |
throws_ok { |
70 |
throws_ok { |
70 |
Koha::Patron::Modification->new( |
71 |
Koha::Patron::Modification->new( |
71 |
{ verification_token => '1234567890', |
72 |
{ verification_token => '1234567890', |
|
|
73 |
changed_fields => 'surname,firstname', |
72 |
surname => 'Hall', |
74 |
surname => 'Hall', |
73 |
firstname => 'Daria' |
75 |
firstname => 'Daria' |
74 |
} |
76 |
} |
Lines 100-105
subtest 'store( extended_attributes ) tests' => sub {
Link Here
|
100 |
|
102 |
|
101 |
Koha::Patron::Modification->new( |
103 |
Koha::Patron::Modification->new( |
102 |
{ verification_token => $verification_token, |
104 |
{ verification_token => $verification_token, |
|
|
105 |
changed_fields => 'borrowernumber,surname,extended_attributes', |
103 |
borrowernumber => $patron, |
106 |
borrowernumber => $patron, |
104 |
surname => 'Hall', |
107 |
surname => 'Hall', |
105 |
extended_attributes => $valid_json_text |
108 |
extended_attributes => $valid_json_text |
Lines 120-125
subtest 'store( extended_attributes ) tests' => sub {
Link Here
|
120 |
throws_ok { |
123 |
throws_ok { |
121 |
Koha::Patron::Modification->new( |
124 |
Koha::Patron::Modification->new( |
122 |
{ verification_token => $verification_token, |
125 |
{ verification_token => $verification_token, |
|
|
126 |
changed_fields => 'borrowernumber,surname,extended_attributes', |
123 |
borrowernumber => $patron, |
127 |
borrowernumber => $patron, |
124 |
surname => 'Hall', |
128 |
surname => 'Hall', |
125 |
extended_attributes => $invalid_json_text |
129 |
extended_attributes => $invalid_json_text |
Lines 153-161
subtest 'approve tests' => sub {
Link Here
|
153 |
my $valid_json_text |
157 |
my $valid_json_text |
154 |
= '[{"code":"CODE_1","value":"VALUE_1"},{"code":"CODE_2","value":0}]'; |
158 |
= '[{"code":"CODE_1","value":"VALUE_1"},{"code":"CODE_2","value":0}]'; |
155 |
my $patron_modification = Koha::Patron::Modification->new( |
159 |
my $patron_modification = Koha::Patron::Modification->new( |
156 |
{ borrowernumber => $patron_hashref->{borrowernumber}, |
160 |
{ verification_token => $verification_token, |
|
|
161 |
changed_fields => 'borrowernumber,firstname,extended_attributes', |
162 |
borrowernumber => $patron_hashref->{borrowernumber}, |
157 |
firstname => 'Kyle', |
163 |
firstname => 'Kyle', |
158 |
verification_token => $verification_token, |
|
|
159 |
extended_attributes => $valid_json_text |
164 |
extended_attributes => $valid_json_text |
160 |
} |
165 |
} |
161 |
)->store(); |
166 |
)->store(); |
Lines 183-191
subtest 'approve tests' => sub {
Link Here
|
183 |
# Create a new Koha::Patron::Modification, skip extended_attributes to |
188 |
# Create a new Koha::Patron::Modification, skip extended_attributes to |
184 |
# bypass checks |
189 |
# bypass checks |
185 |
$patron_modification = Koha::Patron::Modification->new( |
190 |
$patron_modification = Koha::Patron::Modification->new( |
186 |
{ borrowernumber => $patron_hashref->{borrowernumber}, |
191 |
{ verification_token => $verification_token, |
187 |
firstname => 'Kylie', |
192 |
changed_fields => 'borrowernumber,firstname', |
188 |
verification_token => $verification_token |
193 |
borrowernumber => $patron_hashref->{borrowernumber}, |
|
|
194 |
firstname => 'Kylie' |
189 |
} |
195 |
} |
190 |
)->store(); |
196 |
)->store(); |
191 |
|
197 |
|
Lines 205-213
subtest 'approve tests' => sub {
Link Here
|
205 |
$verification_token = md5_hex( time() . {} . rand() . {} . $$ ); |
211 |
$verification_token = md5_hex( time() . {} . rand() . {} . $$ ); |
206 |
|
212 |
|
207 |
$patron_modification = Koha::Patron::Modification->new( |
213 |
$patron_modification = Koha::Patron::Modification->new( |
208 |
{ borrowernumber => $patron->borrowernumber, |
214 |
{ verification_token => $verification_token, |
209 |
extended_attributes => $bigger_json, |
215 |
changed_fields => 'borrowernumber,extended_attributes', |
210 |
verification_token => $verification_token |
216 |
borrowernumber => $patron->borrowernumber, |
|
|
217 |
extended_attributes => $bigger_json |
211 |
} |
218 |
} |
212 |
)->store(); |
219 |
)->store(); |
213 |
ok( $patron_modification->approve, |
220 |
ok( $patron_modification->approve, |
Lines 236-244
subtest 'approve tests' => sub {
Link Here
|
236 |
$verification_token = md5_hex( time() . {} . rand() . {} . $$ ); |
243 |
$verification_token = md5_hex( time() . {} . rand() . {} . $$ ); |
237 |
|
244 |
|
238 |
$patron_modification = Koha::Patron::Modification->new( |
245 |
$patron_modification = Koha::Patron::Modification->new( |
239 |
{ borrowernumber => $patron->borrowernumber, |
246 |
{ verification_token => $verification_token, |
240 |
extended_attributes => $empty_code_json, |
247 |
changed_fields => 'borrowernumber,extended_attributes', |
241 |
verification_token => $verification_token |
248 |
borrowernumber => $patron->borrowernumber, |
|
|
249 |
extended_attributes => $empty_code_json |
242 |
} |
250 |
} |
243 |
)->store(); |
251 |
)->store(); |
244 |
ok( $patron_modification->approve, |
252 |
ok( $patron_modification->approve, |
Lines 291-300
subtest 'pending_count() and pending() tests' => sub {
Link Here
|
291 |
Koha::Patron::Attribute->new({ borrowernumber => $patron_2->borrowernumber, code => 'CODE_2', attribute => 'bye' } )->store(); |
299 |
Koha::Patron::Attribute->new({ borrowernumber => $patron_2->borrowernumber, code => 'CODE_2', attribute => 'bye' } )->store(); |
292 |
|
300 |
|
293 |
my $modification_1 = Koha::Patron::Modification->new( |
301 |
my $modification_1 = Koha::Patron::Modification->new( |
294 |
{ borrowernumber => $patron_1->borrowernumber, |
302 |
{ verification_token => $verification_token_1, |
|
|
303 |
changed_fields => 'borrowernumber,surname,firstname,extended_attributes', |
304 |
borrowernumber => $patron_1->borrowernumber, |
295 |
surname => 'Hall', |
305 |
surname => 'Hall', |
296 |
firstname => 'Kyle', |
306 |
firstname => 'Kyle', |
297 |
verification_token => $verification_token_1, |
|
|
298 |
extended_attributes => '[{"code":"CODE_1","value":""}]' |
307 |
extended_attributes => '[{"code":"CODE_1","value":""}]' |
299 |
} |
308 |
} |
300 |
)->store(); |
309 |
)->store(); |
Lines 303-321
subtest 'pending_count() and pending() tests' => sub {
Link Here
|
303 |
1, 'pending_count() correctly returns 1' ); |
312 |
1, 'pending_count() correctly returns 1' ); |
304 |
|
313 |
|
305 |
my $modification_2 = Koha::Patron::Modification->new( |
314 |
my $modification_2 = Koha::Patron::Modification->new( |
306 |
{ borrowernumber => $patron_2->borrowernumber, |
315 |
{ verification_token => $verification_token_2, |
|
|
316 |
changed_fields => 'borrowernumber,surname,firstname,extended_attributes', |
317 |
borrowernumber => $patron_2->borrowernumber, |
307 |
surname => 'Smith', |
318 |
surname => 'Smith', |
308 |
firstname => 'Sandy', |
319 |
firstname => 'Sandy', |
309 |
verification_token => $verification_token_2, |
|
|
310 |
extended_attributes => '[{"code":"CODE_2","value":"año"},{"code":"CODE_2","value":"ciao"}]' |
320 |
extended_attributes => '[{"code":"CODE_2","value":"año"},{"code":"CODE_2","value":"ciao"}]' |
311 |
} |
321 |
} |
312 |
)->store(); |
322 |
)->store(); |
313 |
|
323 |
|
314 |
my $modification_3 = Koha::Patron::Modification->new( |
324 |
my $modification_3 = Koha::Patron::Modification->new( |
315 |
{ borrowernumber => $patron_3->borrowernumber, |
325 |
{ verification_token => $verification_token_3, |
|
|
326 |
changed_fields => 'borrowernumber,surname,firstname', |
327 |
borrowernumber => $patron_3->borrowernumber, |
316 |
surname => 'Smithy', |
328 |
surname => 'Smithy', |
317 |
firstname => 'Sandy', |
329 |
firstname => 'Sandy' |
318 |
verification_token => $verification_token_3 |
|
|
319 |
} |
330 |
} |
320 |
)->store(); |
331 |
)->store(); |
321 |
|
332 |
|
Lines 380-387
subtest 'dateofbirth tests' => sub {
Link Here
|
380 |
|
391 |
|
381 |
# Cleaning the field |
392 |
# Cleaning the field |
382 |
my $patron = $builder->build_object( { class => 'Koha::Patrons', value => { dateofbirth => '1980-01-01', surname => 'a_surname' } } ); |
393 |
my $patron = $builder->build_object( { class => 'Koha::Patrons', value => { dateofbirth => '1980-01-01', surname => 'a_surname' } } ); |
383 |
my $patron_modification = Koha::Patron::Modification->new( { borrowernumber => $patron->borrowernumber, dateofbirth => undef } |
394 |
my $patron_modification = Koha::Patron::Modification->new( { |
384 |
)->store; |
395 |
changed_fields => 'borrowernumber,dateofbirth', |
|
|
396 |
borrowernumber => $patron->borrowernumber, |
397 |
dateofbirth => undef |
398 |
})->store; |
385 |
$patron_modification->approve; |
399 |
$patron_modification->approve; |
386 |
|
400 |
|
387 |
$patron->discard_changes; |
401 |
$patron->discard_changes; |
Lines 391-398
subtest 'dateofbirth tests' => sub {
Link Here
|
391 |
Koha::Patron::Modifications->search({ borrowernumber => $patron->borrowernumber })->delete; |
405 |
Koha::Patron::Modifications->search({ borrowernumber => $patron->borrowernumber })->delete; |
392 |
|
406 |
|
393 |
# Adding a dateofbirth |
407 |
# Adding a dateofbirth |
394 |
$patron_modification = Koha::Patron::Modification->new( { borrowernumber => $patron->borrowernumber, dateofbirth => '1980-02-02' } |
408 |
$patron_modification = Koha::Patron::Modification->new( { |
395 |
)->store; |
409 |
changed_fields => 'borrowernumber,dateofbirth', |
|
|
410 |
borrowernumber => $patron->borrowernumber, |
411 |
dateofbirth => '1980-02-02' |
412 |
})->store; |
396 |
$patron_modification->approve; |
413 |
$patron_modification->approve; |
397 |
|
414 |
|
398 |
$patron->discard_changes; |
415 |
$patron->discard_changes; |
Lines 403-410
subtest 'dateofbirth tests' => sub {
Link Here
|
403 |
Koha::Patron::Modifications->search({ borrowernumber => $patron->borrowernumber })->delete; |
420 |
Koha::Patron::Modifications->search({ borrowernumber => $patron->borrowernumber })->delete; |
404 |
|
421 |
|
405 |
# Modifying a dateofbirth |
422 |
# Modifying a dateofbirth |
406 |
$patron_modification = Koha::Patron::Modification->new( { borrowernumber => $patron->borrowernumber, dateofbirth => '1980-03-03', surname => undef } |
423 |
$patron_modification = Koha::Patron::Modification->new( { |
407 |
)->store; |
424 |
changed_fields => 'borrowernumber,dateofbirth', |
|
|
425 |
borrowernumber => $patron->borrowernumber, |
426 |
dateofbirth => '1980-03-03', |
427 |
surname => undef |
428 |
})->store; |
408 |
$patron_modification->approve; |
429 |
$patron_modification->approve; |
409 |
|
430 |
|
410 |
$patron->discard_changes; |
431 |
$patron->discard_changes; |
Lines 415-422
subtest 'dateofbirth tests' => sub {
Link Here
|
415 |
Koha::Patron::Modifications->search({ borrowernumber => $patron->borrowernumber })->delete; |
436 |
Koha::Patron::Modifications->search({ borrowernumber => $patron->borrowernumber })->delete; |
416 |
|
437 |
|
417 |
# Modifying something else |
438 |
# Modifying something else |
418 |
$patron_modification = Koha::Patron::Modification->new( { borrowernumber => $patron->borrowernumber, surname => 'another_surname', dateofbirth => undef } |
439 |
$patron_modification = Koha::Patron::Modification->new( { |
419 |
)->store; |
440 |
changed_fields => 'borrowernumber,surname', |
|
|
441 |
borrowernumber => $patron->borrowernumber, |
442 |
surname => 'another_surname', |
443 |
dateofbirth => undef |
444 |
})->store; |
420 |
$patron_modification->approve; |
445 |
$patron_modification->approve; |
421 |
|
446 |
|
422 |
$patron->discard_changes; |
447 |
$patron->discard_changes; |
423 |
- |
|
|