bug 5327 updated test file
[koha.git] / t / lib / KohaTest / Items / ColumnFixes.pm
1 package KohaTest::Items::ColumnFixes;
2 use base qw( KohaTest::Items );
3
4 use strict;
5 use warnings;
6
7 use Test::More;
8
9 use C4::Items;
10
11 =head2 STARTUP METHODS
12
13 These get run once, before the main test methods in this module
14
15 =cut
16
17 =head2 TEST METHODS
18
19 standard test methods
20
21 =head3 not_defined
22
23
24 =cut
25
26 sub not_defined : Test( 4 ) {
27
28     my $item_mod_fixes_1 = {
29         notforloan => undef,
30         damaged    => undef,
31         wthdrawn   => undef,
32         itemlost   => undef,
33     };
34
35     C4::Items::_do_column_fixes_for_mod($item_mod_fixes_1);
36     is( $item_mod_fixes_1->{'notforloan'}, 0, 'null notforloan fixed during mod' );
37     is( $item_mod_fixes_1->{'damaged'},    0, 'null damaged fixed during mod' );
38     is( $item_mod_fixes_1->{'wthdrawn'},   0, 'null wthdrawn fixed during mod' );
39     is( $item_mod_fixes_1->{'itemlost'},   0, 'null itemlost fixed during mod' );
40
41 }
42
43 sub empty : Test( 4 ) {
44
45     my $item_mod_fixes_2 = {
46         notforloan => '',
47         damaged    => '',
48         wthdrawn   => '',
49         itemlost   => '',
50     };
51
52     C4::Items::_do_column_fixes_for_mod($item_mod_fixes_2);
53     is( $item_mod_fixes_2->{'notforloan'}, 0, 'empty notforloan fixed during mod' );
54     is( $item_mod_fixes_2->{'damaged'},    0, 'empty damaged fixed during mod' );
55     is( $item_mod_fixes_2->{'wthdrawn'},   0, 'empty wthdrawn fixed during mod' );
56     is( $item_mod_fixes_2->{'itemlost'},   0, 'empty itemlost fixed during mod' );
57
58 }
59
60 sub not_clobbered : Test( 4 ) {
61
62     my $item_mod_fixes_3 = {
63         notforloan => 1,
64         damaged    => 2,
65         wthdrawn   => 3,
66         itemlost   => 4,
67     };
68
69     C4::Items::_do_column_fixes_for_mod($item_mod_fixes_3);
70     is( $item_mod_fixes_3->{'notforloan'}, 1, 'do not clobber notforloan during mod' );
71     is( $item_mod_fixes_3->{'damaged'},    2, 'do not clobber damaged during mod' );
72     is( $item_mod_fixes_3->{'wthdrawn'},   3, 'do not clobber wthdrawn during mod' );
73     is( $item_mod_fixes_3->{'itemlost'},   4, 'do not clobber itemlost during mod' );
74
75 }
76
77 1;