Unverified Commit ed626990 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

update JSON tests

parent 4646a0a0
Loading
Loading
Loading
Loading
+20 −8
Original line number Diff line number Diff line
@@ -18,11 +18,13 @@ my $t = Test::Mojo->new('DBInfoscreen');
# be because of IRIS problems or unanticipated schedule changes.
# TODO: Support mock XML from hard disk.

$t->get_ok('/EDUV?mode=json&version=1')->status_is(200)
$t->get_ok('/EDUV.json')
  ->status_is(200)
  ->json_has( '/departures',                  'has departures' )
  ->json_has( '/departures/0',                'has a departure' )
  ->json_has( '/departures/0/route',          '.route' )
  ->json_has( '/departures/0/delay', '.delay' )
  ->json_has( '/departures/0/delayArrival',   '.delayArrival' )
  ->json_has( '/departures/0/delayDeparture', '.delayDeparture' )
  ->json_like( '/departures/0/destination',
	qr{ ^ (Dortmund|Bochum|Essen|D.sseldorf|Solingen) \s Hbf $}x,
	'.destination' )
@@ -30,15 +32,25 @@ $t->get_ok('/EDUV?mode=json&version=1')->status_is(200)
  ->json_has( '/departures/0/messages',       '.messages' )
  ->json_has( '/departures/0/messages/delay', '.messages.delay' )
  ->json_has( '/departures/0/messages/qos',   '.messages.qos' )
  ->json_like( '/departures/0/time', qr{ ^ \d \d? : \d\d $ }x, '.time' )
  ->json_is( '/departures/0/train', 'S 1', '.train' )
  ->json_like(
	'/departures/0/scheduledArrival',
	qr{ ^ \d \d? : \d\d $ }x,
	'.scheduledArrival'
  )
  ->json_like(
	'/departures/0/scheduledDeparture',
	qr{ ^ \d \d? : \d\d $ }x,
	'.scheduledDeparture'
  )
  ->json_is( '/departures/0/train', 'S S1', '.train' )
  ->json_like( '/departures/0/platform', qr{ ^ 1 | 2 $}x, '.platform' )
  ->json_like( '/departures/0/route/0/name',
	qr{ ^ (Dortmund|Bochum|Essen|D.sseldorf|Solingen) \s Hbf $}x, '.route[0]' )
  ->json_like( '/departures/0/via/0',
	qr{ ^ Dortmund-Dorstfeld \s S.d | Dortmund-Oespel $}x, '.via[0]' );

$t->get_ok('/EDUV?mode=json&version=1&callback=my_callback')->status_is(200)
$t->get_ok('/EDUV.json?callback=my_callback')
  ->status_is(200)
  ->content_like( qr{ ^ my_callback \( }x, 'json callback works' );

# ) <- just here to fix bracket grouping in vim