31 lines
906 B
Perl
31 lines
906 B
Perl
#!/usr/bin/env perl
|
|
use strict;
|
|
use warnings;
|
|
use Test::More;
|
|
use File::Temp qw(tempfile);
|
|
use FindBin qw($RealBin);
|
|
use lib "$RealBin/../lib";
|
|
|
|
use_ok('Mnemosyne::DB');
|
|
|
|
my (undef, $tmp) = tempfile(SUFFIX => '.db', UNLINK => 1);
|
|
|
|
my $db = Mnemosyne::DB->new($tmp);
|
|
isa_ok($db, 'Mnemosyne::DB');
|
|
ok($db->dbh, 'dbh returns a handle');
|
|
|
|
# Schema applied
|
|
my @tables = map { $_->[0] }
|
|
@{ $db->dbh->selectall_arrayref("SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%' ORDER BY name") };
|
|
is_deeply(\@tables, [qw(completions config tasks)], 'expected tables created');
|
|
|
|
# Config defaults
|
|
is($db->config_get('digest_time'), '06:30', 'default digest_time');
|
|
is($db->config_get('upcoming_horizon'), '7', 'default upcoming_horizon');
|
|
|
|
# config_set round-trip
|
|
$db->config_set('digest_time', '07:00');
|
|
is($db->config_get('digest_time'), '07:00', 'config_set persists');
|
|
|
|
done_testing;
|