5 use Test
::More tests
=> 27;
8 my $schema = Koha
::Database
->new->schema;
9 $schema->storage->txn_begin;
10 my $dbh = C4
::Context
->dbh;
12 use C4
::Serials
::Frequency
;
14 # Start by deleting all frequencies.
15 my @frequencies = GetSubscriptionFrequencies
();
16 foreach my $f (@frequencies) {
17 DelSubscriptionFrequency
($f->{id
});
20 @frequencies = GetSubscriptionFrequencies
();
21 is
(scalar @frequencies, 0, "There is no frequencies in database");
23 my $frequency = GetSubscriptionFrequency
(1);
24 is
($frequency, undef, "GetSubscriptionFrequency(1) returns undef");
26 my $rv = ModSubscriptionFrequency
($frequency);
27 is
($rv, undef, "ModSubscriptionFrequency(undef) returns undef");
29 $rv = ModSubscriptionFrequency
($frequency);
30 is
($rv, undef, "ModSubscriptionFrequency({}) returns undef");
31 # returns 0 because id doesn't exist
32 $frequency = { id
=> 1, description
=> "Test frequency 1" };
33 $rv = ModSubscriptionFrequency
($frequency);
34 is
($rv, '0E0', "ModSubscriptionFrequency({id=1,description=>'Test frequency 1'}) returns '0 but true'");
37 my $id = AddSubscriptionFrequency
($frequency);
38 is
($id, undef, "AddSubscriptionFrequency(undef) returns undef");
40 $id = AddSubscriptionFrequency
($frequency);
41 is
($id, undef, "AddSubscriptionFrequency({}) returns undef");
42 $frequency = { description
=> "Test frequency 1" };
43 $id = AddSubscriptionFrequency
($frequency);
44 ok
((defined($id) && ($id > 0)), "AddSubscriptionFrequency({description => 'Test frequency 1'}) returns frequency id");
46 $frequency = GetSubscriptionFrequency
($id);
47 isa_ok
($frequency, 'HASH', "GetSubscriptionFrequency($id)");
48 is
($frequency->{description
}, "Test frequency 1", "description OK");
49 is
($frequency->{unit
}, undef, "unit OK");
50 is
($frequency->{issuesperunit
}, 1, "issuesperunit OK");
51 is
($frequency->{unitsperissue
}, 1, "unitsperissue OK");
52 is
($frequency->{expectedissuesayear
}, undef, "expectedissuesayear OK");
53 is
($frequency->{displayorder
}, undef, "displayorder OK");
55 $frequency->{description
} = $frequency->{description
} . " (modified)";
56 $frequency->{unit
} = 'day';
57 $frequency->{unitsperissue
} = 3;
58 $frequency->{displayorder
} = 1;
59 $rv = ModSubscriptionFrequency
($frequency);
60 is
($rv, 1, "ModSubscriptionFrequency(\$frequency) returns 1");
62 $frequency = GetSubscriptionFrequency
($id);
63 isa_ok
($frequency, 'HASH', "GetSubscriptionFrequency($id)");
64 is
($frequency->{description
}, "Test frequency 1 (modified)", "description OK");
65 is
($frequency->{unit
}, 'day', "unit OK");
66 is
($frequency->{issuesperunit
}, 1, "issuesperunit OK");
67 is
($frequency->{unitsperissue
}, 3, "unitsperissue OK");
68 is
($frequency->{expectedissuesayear
}, undef, "expectedissuesayear OK");
69 is
($frequency->{displayorder
}, 1, "displayorder OK");
71 @frequencies = GetSubscriptionFrequencies
();
72 is
(scalar @frequencies, 1, "There is one frequency");
74 # Add another frequency
75 undef $frequency->{id
};
76 my $id2 = AddSubscriptionFrequency
($frequency);
78 @frequencies = GetSubscriptionFrequencies
();
79 is
(scalar @frequencies, 2, "There are two frequencies");
81 # Delete one frequency
82 DelSubscriptionFrequency
($id);
83 @frequencies = GetSubscriptionFrequencies
();
84 is
(scalar @frequencies, 1, "There is one frequency");
86 # Delete the other frequency
87 DelSubscriptionFrequency
($id2);
88 @frequencies = GetSubscriptionFrequencies
();
89 is
(scalar @frequencies, 0, "There is no frequency");