Commit | Line | Data |
0566a82d |
1 | #!perl |
2 | |
3 | use DBIx::Class::Fixtures; |
4 | use Test::More; |
5 | use lib qw(t/lib); |
6 | use DBICTest; |
7 | use Path::Class; |
8 | use Data::Dumper; |
9 | use DateTime; |
10 | |
d85d888e |
11 | plan skip_all => 'Set $ENV{FIXTURETEST_DSN}, _USER and _PASS to point at MySQL DB to run this test' |
0566a82d |
12 | unless ($ENV{FIXTURETEST_DSN}); |
13 | |
14 | plan tests => 5; |
15 | |
16 | # set up and populate schema |
17 | ok(my $schema = DBICTest->init_schema( dsn => $ENV{FIXTURETEST_DSN}, user => $ENV{FIXTURETEST_USER}, pass => $ENV{FIXTURETEST_PASS}), 'got schema'); |
18 | |
19 | my $config_dir = 't/var/configs'; |
20 | |
21 | # do dump |
22 | ok(my $fixtures = DBIx::Class::Fixtures->new({ config_dir => $config_dir, debug => 0 }), 'object created with correct config dir'); |
23 | ok($fixtures->dump({ config => 'date.json', schema => $schema, directory => 't/var/fixtures' }), 'date dump executed okay'); |
1f671acf |
24 | ok($fixtures->populate({ ddl => DBICTest->get_ddl_file($schema), connection_details => [$ENV{FIXTURETEST_DSN}, $ENV{FIXTURETEST_USER} || '', $ENV{FIXTURETEST_PASS} || ''], directory => 't/var/fixtures' }), 'date populate okay'); |
0566a82d |
25 | |
26 | my $track = $schema->resultset('Track')->find(9); |
27 | my $now = DateTime->now(); |
28 | my $dt = $track->get_inflated_column('last_updated_on'); |
29 | my $diff = $now->subtract_datetime( $dt ); |
30 | is($diff->delta_days, 10, 'date set to the correct time in the past'); |