The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use Test::Spec;
use Test::Fatal;

use lib 't/lib';

use ObjectDB::Meta;
use TestDBH;
use TestEnv;

eval { require DBIx::Inspector; 1 } or do {
    require Test::More;
    Test::More->import(skip_all => 'DBIx::Inspector required for this test');
};

describe 'meta auto discovery' => sub {

    before each => sub {
        TestEnv->prepare_table('person');
    };

    it 'discover schema' => sub {

        {

            package MyTable;
            use base 'ObjectDB';
            __PACKAGE__->meta(table => 'person', discover_schema => 1);
            sub init_db { TestDBH->dbh }
        }

        is_deeply([MyTable->meta->columns], [qw/id name profession age/]);
        is_deeply([MyTable->meta->primary_key], ['id']);

        is(MyTable->new->get_column('name'), '');
    };

};

runtests unless caller;