#!perl -T
use strict;
use warnings;
use File::Spec::Functions;
use Test::More;
my @known_fields = qw< date site status >;
my @files = glob(catfile(qw< t files results-*.html >));
plan tests => 3 + (4 + @known_fields) * @files;
my $module = "WWW::ColiPoste";
use_ok($module);
my $coliposte = eval { $module->new };
is( $@, "", "creating a $module object" );
isa_ok( $coliposte, $module, "check that the object" );
for my $file (@files) {
my $status = eval { $coliposte->get_status(tracking_id => 0, from => $file) };
is( $@, "", "getting status from file $file" );
isa_ok( $status, "ARRAY", " :: checking that the status" );
cmp_ok( scalar @$status, ">=", 1,
" :: checking that there is at least one item" );
isa_ok( $status->[0], "HASH", " :: checking that this line" );
my %status_fields = map { $_ => 1 } keys %{ $status->[0] };
for my $field (@known_fields) {
ok( exists $status_fields{$field},
" :: checking that the $field field is present" );
}
}