mnemosyne/t/db.t

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;