View | Details | Raw Unified | Return to bug 23974
Collapse All | Expand All

(-)a/t/db_dependent/Calendar.t (-8 / +43 lines)
Lines 92-98 subtest 'crossing_DST' => sub { Link Here
92
    );
92
    );
93
};
93
};
94
94
95
subtest 'hours_between' => sub {
95
subtest 'hours_between | days_between' => sub {
96
96
97
    plan tests => 2;
97
    plan tests => 2;
98
98
Lines 121-164 subtest 'hours_between' => sub { Link Here
121
121
122
        subtest 'Same hours' => sub {
122
        subtest 'Same hours' => sub {
123
123
124
            plan tests => 4;
124
            plan tests => 8;
125
125
126
            # Between 5th and 6th
126
            # Between 5th and 6th
127
            my $diff_hours = $calendar->hours_between( $now, $nov_6 )->hours;
127
            my $diff_hours = $calendar->hours_between( $now, $nov_6 )->hours;
128
            is( $diff_hours, 1 * 24, '' );
128
            is( $diff_hours, 1 * 24, '' );
129
            my $diff_days = $calendar->days_between( $now, $nov_6 )->delta_days;
130
            is( $diff_days, 1, '' );
129
131
130
            # Between 5th and 7th
132
            # Between 5th and 7th
131
            $diff_hours = $calendar->hours_between( $now, $nov_7 )->hours;
133
            $diff_hours = $calendar->hours_between( $now, $nov_7 )->hours;
132
            is( $diff_hours, 2 * 24, '' );
134
            is( $diff_hours, 2 * 24, '' );
135
            $diff_days = $calendar->days_between( $now, $nov_7 )->delta_days;
136
            is( $diff_days, 2, '' );
133
137
134
            # Between 5th and 12th
138
            # Between 5th and 12th
135
            $diff_hours = $calendar->hours_between( $now, $nov_12 )->hours;
139
            $diff_hours = $calendar->hours_between( $now, $nov_12 )->hours;
136
            is( $diff_hours, 7 * 24, '' );
140
            is( $diff_hours, 7 * 24, '' );
141
            $diff_days = $calendar->days_between( $now, $nov_12 )->delta_days;
142
            is( $diff_days, 7, '' );
137
143
138
            # Between 5th and 15th
144
            # Between 5th and 15th
139
            $diff_hours = $calendar->hours_between( $now, $nov_15 )->hours;
145
            $diff_hours = $calendar->hours_between( $now, $nov_15 )->hours;
140
            is( $diff_hours, 10 * 24, '' );
146
            is( $diff_hours, 10 * 24, '' );
147
            $diff_days = $calendar->days_between( $now, $nov_15 )->delta_days;
148
            is( $diff_days, 10, '' );
141
        };
149
        };
142
150
143
        subtest 'Different hours' => sub {
151
        subtest 'Different hours' => sub {
144
152
145
            plan tests => 4;
153
            plan tests => 8;
146
154
147
            # Between 5th and 6th
155
            # Between 5th and 6th
148
            my $diff_hours = $calendar->hours_between( $now, $nov_6->clone->subtract(hours => 3) )->hours;
156
            my $diff_hours = $calendar->hours_between( $now, $nov_6->clone->subtract(hours => 3) )->hours;
149
            is( $diff_hours, 1 * 24 - 3, '' );
157
            is( $diff_hours, 1 * 24 - 3, '' );
158
            my $diff_days = $calendar->days_between( $now, $nov_6->clone->subtract(hours => 3) )->delta_days;
159
            is( $diff_days, 1, '' );
150
160
151
            # Between 5th and 7th
161
            # Between 5th and 7th
152
            $diff_hours = $calendar->hours_between( $now, $nov_7->clone->subtract(hours => 3) )->hours;
162
            $diff_hours = $calendar->hours_between( $now, $nov_7->clone->subtract(hours => 3) )->hours;
153
            is( $diff_hours, 2 * 24 - 3, '' );
163
            is( $diff_hours, 2 * 24 - 3, '' );
164
            $diff_days = $calendar->days_between( $now, $nov_7->clone->subtract(hours => 3) )->delta_days;
165
            is( $diff_days, 2, '' );
154
166
155
            # Between 5th and 12th
167
            # Between 5th and 12th
156
            $diff_hours = $calendar->hours_between( $now, $nov_12->clone->subtract(hours => 3) )->hours;
168
            $diff_hours = $calendar->hours_between( $now, $nov_12->clone->subtract(hours => 3) )->hours;
157
            is( $diff_hours, 7 * 24 - 3, '' );
169
            is( $diff_hours, 7 * 24 - 3, '' );
170
            $diff_days = $calendar->days_between( $now, $nov_12->clone->subtract(hours => 3) )->delta_days;
171
            is( $diff_days, 7, '' );
158
172
159
            # Between 5th and 15th
173
            # Between 5th and 15th
160
            $diff_hours = $calendar->hours_between( $now, $nov_15->clone->subtract(hours => 3) )->hours;
174
            $diff_hours = $calendar->hours_between( $now, $nov_15->clone->subtract(hours => 3) )->hours;
161
            is( $diff_hours, 10 * 24 - 3, '' );
175
            is( $diff_hours, 10 * 24 - 3, '' );
176
            $diff_days = $calendar->days_between( $now, $nov_15->clone->subtract(hours => 3) )->delta_days;
177
            is( $diff_days, 10, '' );
162
        };
178
        };
163
    };
179
    };
164
180
Lines 177-232 subtest 'hours_between' => sub { Link Here
177
        my $calendar = Koha::Calendar->new( branchcode => $library->branchcode );
193
        my $calendar = Koha::Calendar->new( branchcode => $library->branchcode );
178
194
179
        subtest 'Same hours' => sub {
195
        subtest 'Same hours' => sub {
180
            plan tests => 5;
196
            plan tests => 10;
181
197
182
            my $diff_hours;
198
            my ( $diff_hours, $diff_days );
183
199
184
            # Between 5th and 6th
200
            # Between 5th and 6th
185
            $diff_hours = $calendar->hours_between( $now, $nov_6 )->hours;
201
            $diff_hours = $calendar->hours_between( $now, $nov_6 )->hours;
186
            is( $diff_hours, 0 * 24, '' ); # FIXME Is this really should be 0?
202
            is( $diff_hours, 0 * 24, '' ); # FIXME Is this really should be 0?
203
            $diff_days = $calendar->days_between( $now, $nov_6)->delta_days;
204
            is( $diff_days, 0, '' ); # FIXME Is this really should be 0?
187
205
188
            # Between 5th and 7th
206
            # Between 5th and 7th
189
            $diff_hours = $calendar->hours_between( $now, $nov_7 )->hours;
207
            $diff_hours = $calendar->hours_between( $now, $nov_7 )->hours;
190
            is( $diff_hours, 2 * 24 - 1 * 24, '' );
208
            is( $diff_hours, 2 * 24 - 1 * 24, '' );
209
            $diff_days = $calendar->days_between( $now, $nov_7)->delta_days;
210
            is( $diff_days, 2 - 1, '' );
191
211
192
            # Between 5th and 12th
212
            # Between 5th and 12th
193
            $diff_hours = $calendar->hours_between( $now, $nov_12 )->hours;
213
            $diff_hours = $calendar->hours_between( $now, $nov_12 )->hours;
194
            is( $diff_hours, 7 * 24 - 1 * 24, '' );
214
            is( $diff_hours, 7 * 24 - 1 * 24, '' );
215
            $diff_days = $calendar->days_between( $now, $nov_12)->delta_days;
216
            is( $diff_days, 7 - 1, '' );
195
217
196
            # Between 5th and 13th
218
            # Between 5th and 13th
197
            $diff_hours = $calendar->hours_between( $now, $nov_13 )->hours;
219
            $diff_hours = $calendar->hours_between( $now, $nov_13 )->hours;
198
            is( $diff_hours, 8 * 24 - 2 * 24, '' );
220
            is( $diff_hours, 8 * 24 - 2 * 24, '' );
221
            $diff_days = $calendar->days_between( $now, $nov_13)->delta_days;
222
            is( $diff_days, 8 - 2, '' );
199
223
200
            # Between 5th and 15th
224
            # Between 5th and 15th
201
            $diff_hours = $calendar->hours_between( $now, $nov_15 )->hours;
225
            $diff_hours = $calendar->hours_between( $now, $nov_15 )->hours;
202
            is( $diff_hours, 10 * 24 - 2 * 24, '' );
226
            is( $diff_hours, 10 * 24 - 2 * 24, '' );
227
            $diff_days = $calendar->days_between( $now, $nov_15)->delta_days;
228
            is( $diff_days, 10 - 2, '' );
203
        };
229
        };
204
230
205
        subtest 'Different hours' => sub {
231
        subtest 'Different hours' => sub {
206
            plan tests => 6;
232
            plan tests => 11;
207
233
208
            my $diff_hours;
234
            my ( $diff_hours, $diff_days );
209
235
210
            # Between 5th and 6th
236
            # Between 5th and 6th
211
            my $duration = $calendar->hours_between( $now, $nov_6->clone->subtract(hours => 3) );
237
            my $duration = $calendar->hours_between( $now, $nov_6->clone->subtract(hours => 3) );
212
            is( $duration->hours, abs(0 * 24 - 3), '' ); # FIXME $duration->hours always return a abs
238
            is( $duration->hours, abs(0 * 24 - 3), '' ); # FIXME $duration->hours always return a abs
213
            is( $duration->is_negative, 1, ); # FIXME Do really test for that case in our calls to hours_between?
239
            is( $duration->is_negative, 1, ); # FIXME Do really test for that case in our calls to hours_between?
240
            $duration = $calendar->days_between( $now, $nov_6->clone->subtract(hours => 3) );
241
            is( $duration->hours, abs(0), '' ); # FIXME Is this correct?
214
242
215
            # Between 5th and 7th
243
            # Between 5th and 7th
216
            $diff_hours = $calendar->hours_between( $now, $nov_7->clone->subtract(hours => 3) )->hours;
244
            $diff_hours = $calendar->hours_between( $now, $nov_7->clone->subtract(hours => 3) )->hours;
217
            is( $diff_hours, 2 * 24 - 1 * 24 - 3, '' );
245
            is( $diff_hours, 2 * 24 - 1 * 24 - 3, '' );
246
            $diff_days = $calendar->days_between( $now, $nov_7->clone->subtract(hours => 3) )->delta_days;
247
            is( $diff_days, 2 - 1, '' );
218
248
219
            # Between 5th and 12th
249
            # Between 5th and 12th
220
            $diff_hours = $calendar->hours_between( $now, $nov_12->clone->subtract(hours => 3) )->hours;
250
            $diff_hours = $calendar->hours_between( $now, $nov_12->clone->subtract(hours => 3) )->hours;
221
            is( $diff_hours, 7 * 24 - 1 * 24 - 3, '' );
251
            is( $diff_hours, 7 * 24 - 1 * 24 - 3, '' );
252
            $diff_days = $calendar->days_between( $now, $nov_12->clone->subtract(hours => 3) )->delta_days;
253
            is( $diff_days, 7 - 1, '' );
222
254
223
            # Between 5th and 13th
255
            # Between 5th and 13th
224
            $diff_hours = $calendar->hours_between( $now, $nov_13->clone->subtract(hours => 3) )->hours;
256
            $diff_hours = $calendar->hours_between( $now, $nov_13->clone->subtract(hours => 3) )->hours;
225
            is( $diff_hours, 8 * 24 - 2 * 24 - 3, '' );
257
            is( $diff_hours, 8 * 24 - 2 * 24 - 3, '' );
258
            $diff_days = $calendar->days_between( $now, $nov_13->clone->subtract(hours => 3) )->delta_days;
259
            is( $diff_days, 8 - 1, '' );
226
260
227
            # Between 5th and 15th
261
            # Between 5th and 15th
228
            $diff_hours = $calendar->hours_between( $now, $nov_15->clone->subtract(hours => 3) )->hours;
262
            $diff_hours = $calendar->hours_between( $now, $nov_15->clone->subtract(hours => 3) )->hours;
229
            is( $diff_hours, 10 * 24 - 2 * 24 - 3, '' );
263
            is( $diff_hours, 10 * 24 - 2 * 24 - 3, '' );
264
            $diff_days = $calendar->days_between( $now, $nov_15->clone->subtract(hours => 3) )->delta_days;
265
            is( $diff_days, 10 - 2, '' );
230
        };
266
        };
231
267
232
    };
268
    };
233
- 

Return to bug 23974