Lines 17-23
Link Here
|
17 |
|
17 |
|
18 |
use Modern::Perl; |
18 |
use Modern::Perl; |
19 |
|
19 |
|
20 |
use Test::More tests => 16; |
20 |
use Test::More tests => 17; |
21 |
use Test::Exception; |
21 |
use Test::Exception; |
22 |
use Test::Warn; |
22 |
use Test::Warn; |
23 |
use DateTime; |
23 |
use DateTime; |
Lines 385-390
subtest 'new_from_api() tests' => sub {
Link Here
|
385 |
$schema->storage->txn_rollback; |
385 |
$schema->storage->txn_rollback; |
386 |
}; |
386 |
}; |
387 |
|
387 |
|
|
|
388 |
subtest 'attributes_from_api() tests' => sub { |
389 |
|
390 |
plan tests => 8; |
391 |
|
392 |
my $patron = Koha::Patron->new(); |
393 |
|
394 |
use Data::Printer colored => 1; |
395 |
|
396 |
my $attrs = $patron->attributes_from_api( |
397 |
{ |
398 |
updated_on => '2019-12-27T14:53:00' |
399 |
} |
400 |
); |
401 |
|
402 |
ok( exists $attrs->{updated_on}, |
403 |
'No translation takes place if no mapping' ); |
404 |
is( |
405 |
ref( $attrs->{updated_on} ), |
406 |
'DateTime', |
407 |
'Given a string, a timestamp field is converted into a DateTime object' |
408 |
); |
409 |
|
410 |
$attrs = $patron->attributes_from_api( |
411 |
{ |
412 |
last_seen => '2019-12-27T14:53:00' |
413 |
} |
414 |
); |
415 |
|
416 |
ok( exists $attrs->{lastseen}, |
417 |
'Translation takes place because of the defined mapping' ); |
418 |
is( |
419 |
ref( $attrs->{lastseen} ), |
420 |
'DateTime', |
421 |
'Given a string, a datetime field is converted into a DateTime object' |
422 |
); |
423 |
|
424 |
$attrs = $patron->attributes_from_api( |
425 |
{ |
426 |
date_of_birth => '2019-12-27' |
427 |
} |
428 |
); |
429 |
|
430 |
ok( exists $attrs->{dateofbirth}, |
431 |
'Translation takes place because of the defined mapping' ); |
432 |
is( |
433 |
ref( $attrs->{dateofbirth} ), |
434 |
'DateTime', |
435 |
'Given a string, a date field is converted into a DateTime object' |
436 |
); |
437 |
|
438 |
throws_ok |
439 |
{ |
440 |
$attrs = $patron->attributes_from_api( |
441 |
{ |
442 |
date_of_birth => '20141205', |
443 |
} |
444 |
); |
445 |
} |
446 |
'Koha::Exceptions::BadParameter', |
447 |
'Bad date throws an exception'; |
448 |
|
449 |
is( |
450 |
$@->parameter, |
451 |
'date_of_birth', |
452 |
'Exception parameter is the API field name, not the DB one' |
453 |
); |
454 |
}; |
455 |
|
388 |
subtest "Test update method" => sub { |
456 |
subtest "Test update method" => sub { |
389 |
plan tests => 6; |
457 |
plan tests => 6; |
390 |
|
458 |
|
391 |
- |
|
|