Browse Source
Only functions that do not touch the DB are currently tested. Signed-off-by: Chris Cormack <crc@liblime.com> Signed-off-by: Joshua Ferraro <jmf@liblime.com>3.0.x
Galen Charlton
17 years ago
committed by
Joshua Ferraro
1 changed files with 97 additions and 0 deletions
@ -0,0 +1,97 @@ |
|||
#!/usr/bin/perl |
|||
|
|||
use strict; |
|||
use warnings; |
|||
|
|||
use Test::More tests => 28; |
|||
BEGIN { |
|||
use_ok('C4::Items'); |
|||
} |
|||
|
|||
my $item_mod_fixes_1 = { |
|||
notforloan => undef, |
|||
damaged => undef, |
|||
wthdrawn => undef, |
|||
itemlost => undef, |
|||
}; |
|||
|
|||
my $item_mod_fixes_2 = { |
|||
notforloan => '', |
|||
damaged => '', |
|||
wthdrawn => '', |
|||
itemlost => '', |
|||
}; |
|||
|
|||
my $item_mod_fixes_3 = { |
|||
notforloan => 1, |
|||
damaged => 2, |
|||
wthdrawn => 3, |
|||
itemlost => 4, |
|||
}; |
|||
|
|||
C4::Items::_do_column_fixes_for_mod($item_mod_fixes_1); |
|||
is($item_mod_fixes_1->{'notforloan'}, 0, 'null notforloan fixed during mod'); |
|||
is($item_mod_fixes_1->{'damaged'}, 0, 'null damaged fixed during mod'); |
|||
is($item_mod_fixes_1->{'wthdrawn'}, 0, 'null wthdrawn fixed during mod'); |
|||
is($item_mod_fixes_1->{'itemlost'}, 0, 'null itemlost fixed during mod'); |
|||
|
|||
C4::Items::_do_column_fixes_for_mod($item_mod_fixes_2); |
|||
is($item_mod_fixes_2->{'notforloan'}, 0, 'empty notforloan fixed during mod'); |
|||
is($item_mod_fixes_2->{'damaged'}, 0, 'empty damaged fixed during mod'); |
|||
is($item_mod_fixes_2->{'wthdrawn'}, 0, 'empty wthdrawn fixed during mod'); |
|||
is($item_mod_fixes_2->{'itemlost'}, 0, 'empty itemlost fixed during mod'); |
|||
|
|||
C4::Items::_do_column_fixes_for_mod($item_mod_fixes_3); |
|||
is($item_mod_fixes_3->{'notforloan'}, 1, 'do not clobber notforloan during mod'); |
|||
is($item_mod_fixes_3->{'damaged'}, 2, 'do not clobber damaged during mod'); |
|||
is($item_mod_fixes_3->{'wthdrawn'}, 3, 'do not clobber wthdrawn during mod'); |
|||
is($item_mod_fixes_3->{'itemlost'}, 4, 'do not clobber itemlost during mod'); |
|||
|
|||
my $item_to_add_1 = { |
|||
itemnotes => 'newitem', |
|||
}; |
|||
|
|||
C4::Items::_set_defaults_for_add($item_to_add_1); |
|||
ok(exists $item_to_add_1->{'dateaccessioned'}, 'dateaccessioned added to new item'); |
|||
like($item_to_add_1->{'dateaccessioned'}, qr/^\d\d\d\d-\d\d-\d\d$/ , 'new dateaccessioned is dddd-dd-dd'); |
|||
is($item_to_add_1->{'itemnotes'}, 'newitem', 'itemnotes not clobbered'); |
|||
|
|||
my $item_add_fixes_1 = { |
|||
notforloan => undef, |
|||
damaged => undef, |
|||
wthdrawn => undef, |
|||
itemlost => undef, |
|||
}; |
|||
|
|||
my $item_add_fixes_2 = { |
|||
notforloan => '', |
|||
damaged => '', |
|||
wthdrawn => '', |
|||
itemlost => '', |
|||
}; |
|||
|
|||
my $item_add_fixes_3 = { |
|||
notforloan => 1, |
|||
damaged => 2, |
|||
wthdrawn => 3, |
|||
itemlost => 4, |
|||
}; |
|||
|
|||
C4::Items::_set_defaults_for_add($item_add_fixes_1); |
|||
is($item_add_fixes_1->{'notforloan'}, 0, 'null notforloan fixed during add'); |
|||
is($item_add_fixes_1->{'damaged'}, 0, 'null damaged fixed during add'); |
|||
is($item_add_fixes_1->{'wthdrawn'}, 0, 'null wthdrawn fixed during add'); |
|||
is($item_add_fixes_1->{'itemlost'}, 0, 'null itemlost fixed during add'); |
|||
|
|||
C4::Items::_set_defaults_for_add($item_add_fixes_2); |
|||
is($item_add_fixes_2->{'notforloan'}, 0, 'empty notforloan fixed during add'); |
|||
is($item_add_fixes_2->{'damaged'}, 0, 'empty damaged fixed during add'); |
|||
is($item_add_fixes_2->{'wthdrawn'}, 0, 'empty wthdrawn fixed during add'); |
|||
is($item_add_fixes_2->{'itemlost'}, 0, 'empty itemlost fixed during add'); |
|||
|
|||
C4::Items::_set_defaults_for_add($item_add_fixes_3); |
|||
is($item_add_fixes_3->{'notforloan'}, 1, 'do not clobber notforloan during mod'); |
|||
is($item_add_fixes_3->{'damaged'}, 2, 'do not clobber damaged during mod'); |
|||
is($item_add_fixes_3->{'wthdrawn'}, 3, 'do not clobber wthdrawn during mod'); |
|||
is($item_add_fixes_3->{'itemlost'}, 4, 'do not clobber itemlost during mod'); |
|||
|
Loading…
Reference in new issue