App-RPi-EnvUI
view release on metacpan or search on metacpan
testing => 1,
config_file => 't/envui.json'
);
{ # auxs()
my $auxs = $db->auxs;
is ref $auxs, 'HASH', "auxs() returns a href";
is keys %$auxs, 8, "auxs(): proper number of auxs returned";
for (keys %$auxs) {
like $_, qr/aux\d{1}/, "auxs() $_ has a 'auxN' name";
}
for (1..8){
my $name = "aux$_";
my $aux = $auxs->{$name};
is $aux->{pin}, -1, "$name aux has proper pin default";
is $aux->{state}, 0, "$name has proper default state";
is $aux->{override}, 0, "$name has proper default override";
is $aux->{on_time}, 0, "$name has proper default on_time";
}
}
{
for (1..8){
my $name = "aux$_";
my $aux = $db->aux($name);
is ref $aux, 'HASH', "aux() returns an href for $name";
is keys %$aux, 7, "aux() $name has proper count keys";
}
}
{ # config_control()
my @directives = qw(
temp_limit humidity_limit temp_aux_on_time humidity_aux_on_time
temp_aux humidity_aux light_aux
);
my @values = qw(
80 20 1800 1800 aux1 aux2 aux3
);
is @directives, @values, "directives match number of values";
my $i = 0;
for (@directives){
my $value = $db->config_control($_);
is $value, $values[$i], "control $_ has value $values[$i] by default";
$i++;
}
}
{ # config_core()
my @directives = qw(
event_fetch_timer event_action_timer event_display_timer
sensor_pin testing time_zone
);
my @values = qw(
15 3 4 -1 0 America/Vancouver
);
my $i = 0;
for (@directives){
my $value = $db->config_core($_);
is $value, $values[$i], "core $_ has value $values[$i] by default";
$i++;
}
}
{ # config_light()
my @directives = qw(
on_at on_hours on_time off_time enable
);
my @values = qw(
18:00 12 0 0 0
);
is @directives, @values, "config_light() test is set up equally";
my $conf = $db->config_light;
is ref $conf, 'HASH', "config_light() is an href with no params";
for my $k (keys %$conf){
my $ok = grep {$_ eq $k} @directives;
is $ok, 1, "$k is a directive";
}
for my $d (@directives){
is exists $conf->{$d}, 1, "$d directive exists in conf";
}
my $i = 0;
for (@directives){
my $value = $db->config_light($_);
is $value, $values[$i], "light $_ has value $values[$i] by default";
$i++;
}
}
{ # last_id() & insert_env()
my $id = $db->last_id;
like $id, qr/^\d+$/, "last_id() returns an integer";
my $insert = $db->insert_env(99, 99);
is $insert, 1, "insert_env() can insert";
my $new_id = $db->last_id;
( run in 0.493 second using v1.01-cache-2.11-cpan-39bf76dae61 )