#!/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;