aboutsummaryrefslogtreecommitdiffstats
path: root/t/app/controller/contact.t
diff options
context:
space:
mode:
Diffstat (limited to 't/app/controller/contact.t')
-rw-r--r--t/app/controller/contact.t94
1 files changed, 58 insertions, 36 deletions
diff --git a/t/app/controller/contact.t b/t/app/controller/contact.t
index 9d232c8ff..412b834f3 100644
--- a/t/app/controller/contact.t
+++ b/t/app/controller/contact.t
@@ -10,41 +10,63 @@ $mech->get_ok('/contact');
$mech->title_like(qr/Contact Us/);
$mech->content_contains("We'd love to hear what you think about this site");
-subtest 'check reporting a problem displays correctly' => sub {
- my $user = FixMyStreet::App->model('DB::User')->find_or_create(
- {
- name => 'A User',
- email => 'problem_report_rest@example.com'
- }
- );
-
- my $problem = FixMyStreet::App->model('DB::Problem')->create(
- {
- title => 'Some problem or other',
- detail => 'More detail on the problem',
- postcode => 'EH99 1SP',
- confirmed => '2011-05-04 10:44:28.145168',
- latitude => 0,
- longitude => 0,
- areas => 0,
- used_map => 0,
- name => 'Problem User',
- anonymous => 0,
- state => 'confirmed',
- user => $user
- }
- );
-
- ok $problem, 'succesfully create a problem';
-
- $mech->get_ok( '/contact?id=' . $problem->id );
- $mech->content_contains('reporting the following problem');
- $mech->content_contains('Some problem or other');
- $mech->content_contains('Reported by A User');
- $mech->content_contains(
- 'Reported by A User at 10:44, Wednesday 4 May 2011');
-
- $problem->delete;
-};
+for my $test (
+ {
+ name => 'A User',
+ email => 'problem_report_test@example.com',
+ title => 'Some problem or other',
+ detail => 'More detail on the problem',
+ postcode => 'EH99 1SP',
+ confirmed => '2011-05-04 10:44:28.145168',
+ anonymous => 0,
+ meta => 'Reported by A User at 10:44, Wednesday 4 May 2011',
+ },
+ {
+ name => 'A User',
+ email => 'problem_report_test@example.com',
+ title => 'A different problem',
+ detail => 'More detail on the different problem',
+ postcode => 'EH99 1SP',
+ confirmed => '2011-05-03 13:24:28.145168',
+ anonymous => 1,
+ meta => 'Reported anonymously at 13:24, Tuesday 3 May 2011',
+ },
+ )
+{
+ subtest 'check reporting a problem displays correctly' => sub {
+ my $user = FixMyStreet::App->model('DB::User')->find_or_create(
+ {
+ name => $test->{name},
+ email => $test->{email}
+ }
+ );
+
+ my $problem = FixMyStreet::App->model('DB::Problem')->create(
+ {
+ title => $test->{title},
+ detail => $test->{detail},
+ postcode => $test->{postcode},
+ confirmed => $test->{confirmed},
+ name => $test->{name},
+ anonymous => $test->{anonymous},
+ state => 'confirmed',
+ user => $user,
+ latitude => 0,
+ longitude => 0,
+ areas => 0,
+ used_map => 0,
+ }
+ );
+
+ ok $problem, 'succesfully create a problem';
+
+ $mech->get_ok( '/contact?id=' . $problem->id );
+ $mech->content_contains('reporting the following problem');
+ $mech->content_contains( $test->{title} );
+ $mech->content_contains( $test->{meta} );
+
+ $problem->delete;
+ };
+}
done_testing();