diff options
author | Matthew Somerville <matthew@mysociety.org> | 2011-06-10 14:56:00 +0100 |
---|---|---|
committer | Matthew Somerville <matthew@mysociety.org> | 2011-06-10 14:56:00 +0100 |
commit | 391ca1c469d93bb2c4798cc15e56fc495b5e80dd (patch) | |
tree | 6bc90fae589de824095e668fbf510ef259935729 /t/app/controller/alert.t | |
parent | 7c96f8ec61d6eddc211f3f0e71cdb276c6a5f773 (diff) | |
parent | 860383f0de3287b0666d64a3ffff3db3a0f087ae (diff) |
Merge branch 'migrate_to_catalyst' into reportemptyhomes
Diffstat (limited to 't/app/controller/alert.t')
-rw-r--r-- | t/app/controller/alert.t | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/t/app/controller/alert.t b/t/app/controller/alert.t new file mode 100644 index 000000000..b8e38ec92 --- /dev/null +++ b/t/app/controller/alert.t @@ -0,0 +1,66 @@ +use strict; +use warnings; +use Test::More; + + +use Catalyst::Test 'FixMyStreet::App'; +use Test::WWW::Mechanize::Catalyst 'FixMyStreet::App'; + +ok( my $mech = Test::WWW::Mechanize::Catalyst->new, 'Created mech object' ); + +# check that we can get the page +$mech->get_ok('/alert'); +$mech->title_like(qr/^Local RSS feeds and email alerts/); +$mech->content_contains('Local RSS feeds and email alerts'); +$mech->content_contains('html lang="en-gb"'); + +# check that we can get list page +$mech->get_ok('/alert/list'); +$mech->title_like(qr/^Local RSS feeds and email alerts/); +$mech->content_contains('Local RSS feeds and email alerts'); +$mech->content_contains('html lang="en-gb"'); + +$mech->get_ok('/alert/list?pc=EH99 1SP'); +$mech->title_like(qr/^Local RSS feeds and email alerts/); +$mech->content_contains('Here are the types of local problem alerts for ‘EH99 1SP’'); +$mech->content_contains('html lang="en-gb"'); +$mech->content_contains('Problems within 8.5km'); +$mech->content_contains('rss/pc/EH991SP/2'); +$mech->content_contains('rss/pc/EH991SP/5'); +$mech->content_contains('rss/pc/EH991SP/10'); +$mech->content_contains('rss/pc/EH991SP/20'); +$mech->content_contains('Problems within City of Edinburgh'); +$mech->content_contains('Problems within City Centre ward'); +$mech->content_contains('/rss/reports/City+of+Edinburgh'); +$mech->content_contains('/rss/reports/City+of+Edinburgh/City+Centre'); +$mech->content_contains('council:2651:City_of_Edinburgh'); +$mech->content_contains('ward:2651:20728:City_of_Edinburgh:City_Centre'); + +$mech->get_ok('/alert/list?pc=High Street'); +$mech->content_contains('We found more than one match for that location'); + +$mech->get_ok('/alert/list?pc='); +$mech->content_contains('hat location does not appear to be covered by a council'); + +$mech->get_ok('/alert/list?pc=GL502PR'); +$mech->content_contains('Problems within the boundary of'); + +$mech->get_ok('/alert/subscribe?rss=1&type=local&pc=ky16+8yg&rss=Give+me+an+RSS+feed&rznvy=' ); +$mech->content_contains('Please select the feed you want'); + +$mech->get_ok('/alert/subscribe?rss=1&feed=invalid:1000:A_Locationtype=local&pc=ky16+8yg&rss=Give+me+an+RSS+feed&rznvy='); +$mech->content_contains('Illegal feed selection'); + +$mech->get_ok('/alert/subscribe?rss=1&feed=area:1000:Birmingham'); +is $mech->uri->path, '/rss/reports/Birmingham'; + +$mech->get_ok('/alert/subscribe?rss=1&feed=area:1000:1001:Cheltenham:Lansdown'); +is $mech->uri->path, '/rss/area/Cheltenham/Lansdown'; + +$mech->get_ok('/alert/subscribe?rss=1&feed=council:1000:Gloucestershire'); +is $mech->uri->path, '/rss/reports/Gloucestershire'; + +$mech->get_ok('/alert/subscribe?rss=1&feed=ward:1000:1001:Cheltenham:Lansdown'); +is $mech->uri->path, '/rss/reports/Cheltenham/Lansdown'; + +done_testing(); |