5 use Test
::More tests
=> 24;
10 use_ok
('C4::ClassSource');
12 can_ok
( 'C4::ClassSource',
28 my $dbh = C4
::Context
->dbh;
29 $dbh->{RaiseError
} = 1;
30 $dbh->{AutoCommit
} = 0;
33 $dbh->do(q
|DELETE FROM class_sources
|);
34 $dbh->do(q
|DELETE FROM class_sort_rules
|);
36 #Test AddClassSortRule
37 my $countSources = scalar( keys(%{ GetClassSources
() }) );
38 my $countSources2 = scalar( keys(%{ GetClassSortRules
() }) );
39 AddClassSortRule
( 'sortrule1', 'description1', 'routine1' );
40 AddClassSortRule
( 'sortrule2', 'description2', 'routine2' );
42 scalar( keys(%{ GetClassSortRules
() }) ),
44 "SortRule1 and SortRules2 have been added"
48 AddClassSource
( 'source1', 'Description_source1', 1, 'sortrule1' );
49 AddClassSource
( 'source2', 'Description_source2', 0, 'sortrule1' );
51 scalar( keys(%{ GetClassSources
() }) ),
53 "Source1 and source2 have been added"
56 #Test GetClassSortRule
58 GetClassSortRule
('sortrule1'),
60 class_sort_rule
=> 'sortrule1',
61 description
=> 'description1',
62 sort_routine
=> 'routine1'
64 "GetClassSort gives sortrule1's information"
66 is_deeply
( GetClassSortRule
(), undef,
67 "GetClassSort without params returns undef" );
68 is_deeply
( GetClassSortRule
('doesnt_exist'),
69 undef, "GetClassSort with an id which doesn't exist returns undef" );
71 #Test GetClassSortRules
72 my $getsortrules = GetClassSortRules
();
77 class_sort_rule
=> 'sortrule1',
78 description
=> 'description1',
79 sort_routine
=> 'routine1'
82 class_sort_rule
=> 'sortrule2',
83 description
=> 'description2',
84 sort_routine
=> 'routine2'
87 "GetClassSortRules returns the id off all SortRule and their information"
91 my $getsource1 = GetClassSource
('source1');
95 cn_source
=> 'source1',
96 description
=> 'Description_source1',
98 class_sort_rule
=> 'sortrule1'
100 "GetClassSource gives source1's information"
102 is_deeply
( GetClassSource
(), undef,
103 "GetClassSource without params returns undef" );
104 is_deeply
( GetClassSource
('doesnt_exist'),
105 undef, "GetClassSource with an id which doesn't exist returns undef" );
107 #Test GetClassSources
108 my $getsources = GetClassSources
();
113 cn_source
=> 'source1',
114 description
=> 'Description_source1',
116 class_sort_rule
=> 'sortrule1'
119 cn_source
=> 'source2',
120 description
=> 'Description_source2',
122 class_sort_rule
=> 'sortrule1'
125 "GetClassSources returns the id off all sources and their information"
129 my $getclassSort = GetClassSort
( 'source1', 'sortrule1', 'item1' )
130 ; #Note: Create a warning:" attempting to use non-existent class sorting routine $sort_routine"
131 is
( $getclassSort, "SORTRULE1_ITEM1",
132 " the sort key corresponding to Source1 and sortrule1 and item1 is SORTRULE1_ITEM1"
135 #Test GetSourcesForSorSortRule
136 my @sources = GetSourcesForSortRule
('sortrule1');
139 [ 'source1', 'source2' ],
140 "Sortrule1 has source1 and source2"
142 @sources = GetSourcesForSortRule
();
143 is_deeply
( \
@sources, [],
144 "Without params GetSourcesForSortRule returns an empty array" );
145 @sources = GetSourcesForSortRule
('doesnt_exist');
146 is_deeply
( \
@sources, [],
147 "With a wrong params GetSourcesForSortRule returns an empty array" );
149 #Test DelClassSortRule
150 #DelClassSortRule ('sortrule1');
151 #is(scalar (keys (%{ GetClassSortRules() })),1,"SortRule1 has been deleted");#FIXME : impossible if some sources exist
152 DelClassSortRule
('sortrule2');
153 is
( scalar( keys(%{ GetClassSortRules
() }) ), 1, "SortRule2 has been deleted" );
155 is
( scalar( keys(%{ GetClassSortRules
() }) ),
156 1, "Without params DelClassSortRule doesn't do anything" );
157 DelClassSortRule
('doesnt_exist');
158 is
( scalar( keys(%{ GetClassSortRules
() }) ),
159 1, "With wrong id, DelClassSortRule doesn't do anything" );
162 DelClassSource
('source2');
163 is
( scalar( keys(%{ GetClassSources
() }) ), 1, "Source2 has been deleted" );
165 is
( scalar( keys(%{ GetClassSources
() }) ),
166 1, "Without params DelClassSource doesn't do anything" );
167 DelClassSource
('doesnt_exist');
168 is
( scalar( keys(%{ GetClassSources
() }) ),
169 1, "With wrong id, DelClassSource doesn't do anything" );
171 #Test ModClassSortRule
172 ModClassSortRule
( 'sortrule1', 'description1_modified', 'routine1_modified' );
174 GetClassSortRule
('sortrule1'),
176 class_sort_rule
=> 'sortrule1',
177 description
=> 'description1_modified',
178 sort_routine
=> 'routine1_modified'
180 "Sortrule1 has been modified"
184 ModClassSource
( 'source1', 'Description_source1_modified', 0, 'sortrule1' );
186 GetClassSource
('source1'),
188 cn_source
=> 'source1',
189 description
=> 'Description_source1_modified',
191 class_sort_rule
=> 'sortrule1'
193 "Source1 has been modified"