Bug 12478 - add test cases
[koha.git] / t / db_dependent / Koha / ItemTypes.t
1 #!/usr/bin/perl
2 #
3 # Copyright 2014 Catalyst IT
4 #
5 # This file is part of Koha.
6 #
7 # Koha is free software; you can redistribute it and/or modify it under the
8 # terms of the GNU General Public License as published by the Free Software
9 # Foundation; either version 3 of the License, or (at your option) any later
10 # version.
11 #
12 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License along
17 # with Koha; if not, write to the Free Software Foundation, Inc.,
18 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
20 use Modern::Perl;
21
22 use Test::More tests => 17;
23 use Data::Dumper;
24 use Koha::Database;
25
26 BEGIN {
27     use_ok('Koha::ItemTypes');
28 }
29
30 my $database = Koha::Database->new();
31 my $schema   = $database->schema();
32 $schema->txn_begin;
33
34 $schema->resultset('Itemtype')->create(
35     {
36         itemtype       => 'type1',
37         description    => 'description',
38         rentalcharge   => '0.00',
39         imageurl       => 'imageurl',
40         summary        => 'summary',
41         checkinmsg     => 'checkinmsg',
42         checkinmsgtype => 'checkinmsgtype',
43     }
44 );
45 $schema->resultset('Itemtype')->create(
46     {
47         itemtype       => 'type2',
48         description    => 'description',
49         rentalcharge   => '0.00',
50         imageurl       => 'imageurl',
51         summary        => 'summary',
52         checkinmsg     => 'checkinmsg',
53         checkinmsgtype => 'checkinmsgtype',
54     }
55 );
56 my $itypes = Koha::ItemTypes->new();
57
58 my @types = $itypes->get_itemtype( 'type1', 'type2' );
59
60 my $type = $types[0];
61 ok( defined($type), 'first result' );
62 is( $type->code,           'type1',          'itemtype/code' );
63 is( $type->description,    'description',    'description' );
64 is( $type->rentalcharge,   '0.0000',             'rentalcharge' );
65 is( $type->imageurl,       'imageurl',       'imageurl' );
66 is( $type->summary,        'summary',        'summary' );
67 is( $type->checkinmsg,     'checkinmsg',     'checkinmsg' );
68 is( $type->checkinmsgtype, 'checkinmsgtype', 'checkinmsgtype' );
69
70 $type = $types[1];
71 ok( defined($type), 'second result' );
72 is( $type->code,           'type2',          'itemtype/code' );
73 is( $type->description,    'description',    'description' );
74 is( $type->rentalcharge,   '0.0000',             'rentalcharge' );
75 is( $type->imageurl,       'imageurl',       'imageurl' );
76 is( $type->summary,        'summary',        'summary' );
77 is( $type->checkinmsg,     'checkinmsg',     'checkinmsg' );
78 is( $type->checkinmsgtype, 'checkinmsgtype', 'checkinmsgtype' );
79
80 $schema->txn_rollback;