X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F20-virtual-column.t;fp=t%2F20-virtual-column.t;h=6d8de6472b441a9f96e5f09e5a615299b87f022f;hb=19c6539b712e06428757b4128fb9464b8f6ff205;hp=0000000000000000000000000000000000000000;hpb=767afa139698fa1642c909ad2e9e8fa9f5de687c;p=dbsrgits%2FDBIx-Class-Fixtures.git diff --git a/t/20-virtual-column.t b/t/20-virtual-column.t new file mode 100644 index 0000000..6d8de64 --- /dev/null +++ b/t/20-virtual-column.t @@ -0,0 +1,57 @@ +use DBIx::Class::Fixtures; +use Test::More; +use Test::Fatal; +use File::Path 'rmtree'; + +use lib qw(t/lib/DBICTest); +use Schema3; +use Test::TempDir::Tiny; +use IO::All; + +my $tempdir = tempdir; + +(my $schema = Schema3->connect( + 'DBI:SQLite::memory:','',''))->init_schema; + +ok my $row = $schema + ->resultset('Person') + ->first; + +ok $row->get_column('weight_to_height_ratio'), + 'has virtual column'; + +my $fixtures = DBIx::Class::Fixtures + ->new({ + config_dir => io->catfile(qw't var configs')->name, + debug => 0 }); + +ok( + $fixtures->dump({ + config => 'virtual-columns.json', + schema => $schema, + directory => io->catfile($tempdir, 'people')->name }), + 'fetch dump executed okay'); + +ok $schema->resultset('Person')->delete; + +is exception { + $fixtures->populate({ + no_deploy => 1, + schema => $schema, + directory => io->catfile($tempdir, 'people')->name + }) +}, undef, 'populated'; + +$row = $schema->resultset('Person')->first; + +BAIL_OUT("can't continue without data") unless $row; + +ok $row->get_column('weight_to_height_ratio'), + 'still has virtual column'; + +done_testing; + +END { + rmtree io->catfile(qw't var files')->name; + rmtree io->catfile($tempdir, 'people')->name; +}