switch tests to Test::TempDir::Tiny to enable parallelization
[dbsrgits/DBIx-Class-Fixtures.git] / t / 06-dump-date.t
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
11 plan skip_all => 'Set $ENV{FIXTURETEST_DSN}, _USER and _PASS to point at MySQL DB to run this test'
12   unless ($ENV{FIXTURETEST_DSN});
13
14 plan tests => 5;
15
16 # set up and populate schema
17 ok(my $schema = DBICTest->init_schema(db_dir => $tempdir, dsn => $ENV{FIXTURETEST_DSN}, user => $ENV{FIXTURETEST_USER}, pass => $ENV{FIXTURETEST_PASS}), 'got schema');
18
19 my $config_dir = io->catfile(qw't var configs')->name;
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 => $tempdir }), 'date dump executed okay');
24 ok($fixtures->populate({ ddl => DBICTest->get_ddl_file($schema), connection_details => [$ENV{FIXTURETEST_DSN}, $ENV{FIXTURETEST_USER} || '', $ENV{FIXTURETEST_PASS} || ''], directory => $tempdir }), 'date populate okay');
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');