1use strict;
2use warnings;
3
4# 6 tests
5
6use Test::More;
7use lib qw(t/lib);
8use DBICTest;
9plan skip_all => "DateTime required" unless eval { require DateTime };
10eval "use DateTime::Format::Strptime";
11plan skip_all => 'DateTime::Format::Strptime required' if $@;
12plan 'no_plan';
13use Test::Exception;
14
15my $schema = DBICTest->init_schema();
16my $artist_rs = $schema->resultset('Artist');
17my $cd_rs = $schema->resultset('CD');
18
19 {
20   my $cd;
21   lives_ok {
22     $cd = $cd_rs->search({ year => {'=' => 1999}})->create
23       ({
24         artist => {name => 'Guillermo1'},
25         title => 'Guillermo 1',
26        });
27   };
28   is($cd->year, 1999);
29 }
30
31 {
32   my $formatter = DateTime::Format::Strptime->new(pattern => '%Y');
33   my $dt = DateTime->new(year => 2006, month => 06, day => 06,
34                          formatter => $formatter );
35   my $cd;
36   lives_ok {
37     $cd = $cd_rs->search({ year => $dt})->create
38       ({
39         artist => {name => 'Guillermo2'},
40         title => 'Guillermo 2',
41        });
42   };
43   is($cd->year, 2006);
44 }
45
46
47{
48  my $artist;
49  lives_ok {
50    $artist = $artist_rs->search({ name => {'!=' => 'Killer'}})
51      ->create({artistid => undef});
52  };
53  is($artist->name, undef);
54}
55
56
57{
58  my $artist;
59  lives_ok {
60    $artist = $artist_rs->search({ name => [ q/ some stupid names here/]})
61      ->create({artistid => undef});
62  };
63  is($artist->name, undef);
64}
65
66
671;
68