App-mimi

 view release on metacpan or  search on metacpan

t/migrator.t  view on Meta::CPAN

use strict;
use warnings;

use lib 't/lib';

use Test::More;
use Test::Fatal;
use Test::TempDir::Tiny;
use TestDB;

use App::mimi;
use App::mimi::db;

subtest 'check: prints correct message when not set up' => sub {
    my $migrator = _build_migrator();

    open my $fh, '>', \my $stdout;
    local *STDOUT = $fh;

    $migrator->check;

    like $stdout, qr/Migrations are not installed/;
};

subtest 'check: prints correct message when no migrations' => sub {
    my $migrator = _build_migrator();

    open my $fh, '>', \my $stdout;
    local *STDOUT = $fh;

    $migrator->setup;

    $migrator->check;

    like $stdout, qr/No migrations found/;
};

subtest 'check: prints correct message when last migration' => sub {
    my $dir = tempdir();

    _write_file("$dir/01foo.sql", '');

    my $migrator = _build_migrator(schema => $dir);

    open my $fh, '>', \my $stdout;
    local *STDOUT = $fh;

    $migrator->setup;
    $migrator->migrate;

    $migrator->check;

    like $stdout, qr/Last migration: 1/;
};

subtest 'check: prints correct message when last migration with error' => sub {
    my $dir = tempdir();

    _write_file("$dir/01foo.sql", 'error');

    my $migrator = _build_migrator(schema => $dir);

    open my $fh,  '>', \my $stdout;
    open my $fh2, '>', \my $stderr;
    local *STDOUT = $fh;
    local *STDERR = $fh2;



( run in 1.079 second using v1.01-cache-2.11-cpan-54e63673c56 )