1 package KohaTest::Items::SetDefaults;
2 use base qw( KohaTest::Items );
11 =head2 STARTUP METHODS
13 These get run once, before the main test methods in this module
26 sub add_some_items : Test( 3 ) {
28 my $item_to_add_1 = { itemnotes => 'newitem', };
30 C4::Items::_set_defaults_for_add($item_to_add_1);
31 ok( exists $item_to_add_1->{'dateaccessioned'}, 'dateaccessioned added to new item' );
32 like( $item_to_add_1->{'dateaccessioned'}, qr/^\d\d\d\d-\d\d-\d\d$/, 'new dateaccessioned is dddd-dd-dd' );
33 is( $item_to_add_1->{'itemnotes'}, 'newitem', 'itemnotes not clobbered' );
37 sub undefined : Test( 4 ) {
38 my $item_add_fixes_1 = {
45 C4::Items::_set_defaults_for_add($item_add_fixes_1);
46 is( $item_add_fixes_1->{'notforloan'}, 0, 'null notforloan fixed during add' );
47 is( $item_add_fixes_1->{'damaged'}, 0, 'null damaged fixed during add' );
48 is( $item_add_fixes_1->{'wthdrawn'}, 0, 'null wthdrawn fixed during add' );
49 is( $item_add_fixes_1->{'itemlost'}, 0, 'null itemlost fixed during add' );
52 sub empty_gets_fixed : Test( 4 ) {
54 my $item_add_fixes_2 = {
61 C4::Items::_set_defaults_for_add($item_add_fixes_2);
62 is( $item_add_fixes_2->{'notforloan'}, 0, 'empty notforloan fixed during add' );
63 is( $item_add_fixes_2->{'damaged'}, 0, 'empty damaged fixed during add' );
64 is( $item_add_fixes_2->{'wthdrawn'}, 0, 'empty wthdrawn fixed during add' );
65 is( $item_add_fixes_2->{'itemlost'}, 0, 'empty itemlost fixed during add' );
69 sub do_not_clobber : Test( 4 ) {
71 my $item_add_fixes_3 = {
78 C4::Items::_set_defaults_for_add($item_add_fixes_3);
79 is( $item_add_fixes_3->{'notforloan'}, 1, 'do not clobber notforloan during mod' );
80 is( $item_add_fixes_3->{'damaged'}, 2, 'do not clobber damaged during mod' );
81 is( $item_add_fixes_3->{'wthdrawn'}, 3, 'do not clobber wthdrawn during mod' );
82 is( $item_add_fixes_3->{'itemlost'}, 4, 'do not clobber itemlost during mod' );