Bug 12803 - Add ability to skip closed libraries when generating the holds queue
[koha.git] / t / db_dependent / Koha_template_plugin_KohaDates.t
1 #!/usr/bin/perl
2
3 use Modern::Perl;
4 use C4::Context;
5 use Koha::DateUtils;
6 use Test::More tests => 7;
7 use Test::MockModule;
8
9 BEGIN {
10         use_ok('Koha::Template::Plugin::KohaDates');
11 }
12
13 my $module_context = new Test::MockModule('C4::Context');
14
15 my $date = "1973-05-21";
16 my $context = C4::Context->new();
17
18 my $filter = Koha::Template::Plugin::KohaDates->new();
19 ok ($filter, "new()");
20
21 $context->set_preference( "dateformat", 'iso' );
22 $context->clear_syspref_cache();
23
24 my $filtered_date = $filter->filter($date);
25 is ($filtered_date,$date, "iso conversion") or diag ("iso conversion fails");
26
27 #$filter = Koha::Template::Plugin::KohaDates->new();
28 $context->set_preference( "dateformat", 'us' );
29 $context->clear_syspref_cache();
30
31 $filtered_date = $filter->filter($date);
32 is ($filtered_date,'05/21/1973', "us conversion") or diag ("us conversion fails $filtered_date");
33
34 $context->set_preference( "dateformat", 'metric' );
35 $context->clear_syspref_cache();
36
37 $filtered_date = $filter->filter($date);
38 is ($filtered_date,'21/05/1973', "metric conversion") or diag ("metric conversion fails $filtered_date");
39
40 $module_context->mock(
41     'tz',
42     sub {
43         return DateTime::TimeZone->new( name => 'Europe/Lisbon' );
44     }
45 );
46
47 $filtered_date = $filter->filter('1979-04-01');
48 is( $filtered_date, '01/04/1979', 'us: dt_from_string should return the valid date if a DST is given' );
49
50 $module_context->mock(
51     'tz',
52     sub {
53         return DateTime::TimeZone->new( name => 'Europe/Paris' );
54     }
55 );
56
57 $filtered_date = $filter->filter('2014-03-30 02:00:00');
58 is( $filtered_date, '30/03/2014', 'us: dt_from_string should return a DateTime object if a DST is given' );