Bug 17932: Unit tests
This patch adds unit tests for the Koha::Object::TO_JSON function. It tests on top of Koha::Patron as Koha::Object needs to be instantiated. To test: - Apply the patch - Run: $ prove -v t/db_dependent/Koha/Object.t => SUCCESS: New tests for TO_JSON are run and return green. - Sign off :-D Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
This commit is contained in:
parent
39d090a8b6
commit
02f781fee0
1 changed files with 29 additions and 1 deletions
|
@ -17,13 +17,15 @@
|
|||
|
||||
use Modern::Perl;
|
||||
|
||||
use Test::More tests => 7;
|
||||
use Test::More tests => 8;
|
||||
use Test::Warn;
|
||||
|
||||
use C4::Context;
|
||||
use Koha::Database;
|
||||
use Koha::DateUtils qw( dt_from_string );
|
||||
|
||||
use Scalar::Util qw( isvstring );
|
||||
|
||||
use t::lib::TestBuilder;
|
||||
|
||||
BEGIN {
|
||||
|
@ -34,6 +36,8 @@ BEGIN {
|
|||
my $schema = Koha::Database->new->schema;
|
||||
$schema->storage->txn_begin;
|
||||
|
||||
my $builder = t::lib::TestBuilder->new();
|
||||
|
||||
my $categorycode = $schema->resultset('Category')->first()->categorycode();
|
||||
my $branchcode = $schema->resultset('Branch')->first()->branchcode();
|
||||
|
||||
|
@ -107,4 +111,28 @@ subtest 'discard_changes' => sub {
|
|||
);
|
||||
};
|
||||
|
||||
subtest 'TO_JSON tests' => sub {
|
||||
|
||||
plan tests => 5;
|
||||
|
||||
my $borrowernumber = $builder->build(
|
||||
{ source => 'Borrower',
|
||||
value => { lost => 1,
|
||||
gonenoaddress => 0 } })->{borrowernumber};
|
||||
|
||||
my $patron = Koha::Patrons->find($borrowernumber);
|
||||
my $lost = $patron->TO_JSON()->{lost};
|
||||
my $gonenoaddress = $patron->TO_JSON->{gonenoaddress};
|
||||
|
||||
ok( $lost->isa('Mojo::JSON::_Bool'), 'Boolean attribute type is correct' );
|
||||
is( $lost, 1, 'Boolean attribute value is correct (true)' );
|
||||
|
||||
ok( $gonenoaddress->isa('Mojo::JSON::_Bool'), 'Boolean attribute type is correct' );
|
||||
is( $gonenoaddress, 0, 'Boolean attribute value is correct (false)' );
|
||||
|
||||
ok( !isvstring($patron->borrowernumber), 'Integer values are not coded as strings' );
|
||||
};
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
|
Loading…
Reference in a new issue