made tests cross os compatible
[dbsrgits/DBIx-Class-Fixtures.git] / t / 06-dump-date.t
CommitLineData
0566a82d 1#!perl
2
3use DBIx::Class::Fixtures;
4use Test::More;
5use lib qw(t/lib);
6use DBICTest;
7use Path::Class;
8use Data::Dumper;
9use DateTime;
10
d85d888e 11plan 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
14plan tests => 5;
15
16# set up and populate schema
17ok(my $schema = DBICTest->init_schema( dsn => $ENV{FIXTURETEST_DSN}, user => $ENV{FIXTURETEST_USER}, pass => $ENV{FIXTURETEST_PASS}), 'got schema');
18
66d02e24 19my $config_dir = io->catfile(qw't var configs')->name;
0566a82d 20
21# do dump
22ok(my $fixtures = DBIx::Class::Fixtures->new({ config_dir => $config_dir, debug => 0 }), 'object created with correct config dir');
66d02e24 23ok($fixtures->dump({ config => 'date.json', schema => $schema, directory => io->catfile(qw't var fixtures')->name }), 'date dump executed okay');
24ok($fixtures->populate({ ddl => DBICTest->get_ddl_file($schema), connection_details => [$ENV{FIXTURETEST_DSN}, $ENV{FIXTURETEST_USER} || '', $ENV{FIXTURETEST_PASS} || ''], directory => io->catfile(qw't var fixtures')->name }), 'date populate okay');
0566a82d 25
26my $track = $schema->resultset('Track')->find(9);
27my $now = DateTime->now();
28my $dt = $track->get_inflated_column('last_updated_on');
29my $diff = $now->subtract_datetime( $dt );
30is($diff->delta_days, 10, 'date set to the correct time in the past');