use Mojo::Base -strict; use Test2::V0; use FindBin; use lib "${FindBin::Bin}/../lib/"; use lib "${FindBin::Bin}/lib/"; use Dashboard::Test qw(test_app); my $t = test_app(); $t->get_ok('/api/readings/ph') ->status_is(200) ->json_is( '/probe' => 'ph' ) ->json_is( '/readings/0/received_at' => '2026-07-05T12:00:10Z' ) ->json_is( '/readings/0/value' => 7.12 ) ->json_hasnt('/readings/1'); $t->get_ok('/api/readings/ph?since=2026-07-05T11:59:55Z') ->status_is(200) ->json_is( '/readings/0/value' => 7.12 ) ->json_hasnt('/readings/1'); $t->get_ok('/api/readings/ph?since=2026-07-05T12:00:05Z') ->status_is(200) ->json_hasnt('/readings/0'); $t->get_ok('/api/readings/do') ->status_is(200) ->json_is( '/probe' => 'do' ) ->json_is( '/readings/0/value' => 8.34 ); $t->get_ok('/api/readings/nope')->status_is(404); done_testing;