View raw

1 use Mojo::Base -strict; 2 3 use Test2::V0; 4 5 use FindBin; 6 use lib "${FindBin::Bin}/../lib/"; 7 use lib "${FindBin::Bin}/lib/"; 8 use Dashboard::Test qw(test_app); 9 10 my $t = test_app(); 11 12 $t->get_ok('/api/readings/ph') 13 ->status_is(200) 14 ->json_is( '/probe' => 'ph' ) 15 ->json_is( '/readings/0/received_at' => '2026-07-05T12:00:10Z' ) 16 ->json_is( '/readings/0/value' => 7.12 ) 17 ->json_hasnt('/readings/1'); 18 19 $t->get_ok('/api/readings/ph?since=2026-07-05T11:59:55Z') 20 ->status_is(200) 21 ->json_is( '/readings/0/value' => 7.12 ) 22 ->json_hasnt('/readings/1'); 23 24 $t->get_ok('/api/readings/ph?since=2026-07-05T12:00:05Z') 25 ->status_is(200) 26 ->json_hasnt('/readings/0'); 27 28 $t->get_ok('/api/readings/do') 29 ->status_is(200) 30 ->json_is( '/probe' => 'do' ) 31 ->json_is( '/readings/0/value' => 8.34 ); 32 33 $t->get_ok('/api/readings/nope')->status_is(404); 34 35 done_testing; 36