use t::Utils; use Mock::Basic; use Test::More; use File::Temp qw(tempdir); my $tempdir = tempdir(CLEANUP => 1); my $file = File::Spec->catfile($tempdir, 'disconnect.db'); my $dbh = t::Utils->setup_dbh($file); Mock::Basic->set_dbh($dbh); Mock::Basic->setup_test_db; subtest 'insert mock_basic data/ insert method' => sub { my $row = Mock::Basic->insert('mock_basic',{ id => 1, name => 'perl', }); isa_ok $row, 'DBIx::Skinny::Row'; is $row->name, 'perl'; }; subtest 'disconnect' => sub { Mock::Basic->disconnect(); ok ! defined Mock::Basic->_attributes->{dbh}, "dbh is undef"; }; subtest 'insert after disconnect trigger a connect' => sub { Mock::Basic->set_dbh(t::Utils->setup_dbh($file)); my $row = Mock::Basic->create('mock_basic',{ id => 2, name => 'ruby', }); isa_ok $row, 'DBIx::Skinny::Row'; is $row->name, 'ruby'; }; done_testing;