diff options
Diffstat (limited to 't/app/controller')
-rw-r--r-- | t/app/controller/report_as_other.t | 24 | ||||
-rw-r--r-- | t/app/controller/report_new_anon.t | 1 |
2 files changed, 25 insertions, 0 deletions
diff --git a/t/app/controller/report_as_other.t b/t/app/controller/report_as_other.t index dab50afa1..a07a903ff 100644 --- a/t/app/controller/report_as_other.t +++ b/t/app/controller/report_as_other.t @@ -167,6 +167,8 @@ subtest "Superuser, can add report as anonymous user" => sub { is $report->user->name, 'Super', 'user name unchanged'; is $report->user->id, $user->id, 'user matches'; is $report->anonymous, 1, 'report anonymous'; + is $report->get_extra_metadata('contributed_as'), 'anonymous_user'; + is $report->get_extra_metadata('contributed_by'), undef; my $send_confirmation_mail_override = Sub::Override->new( "FixMyStreet::Cobrand::Default::report_sent_confirmation_email", @@ -182,6 +184,28 @@ subtest "Superuser, can add report as anonymous user" => sub { $mech->log_in_ok($test_email); }; +subtest "Body user, can add report as anonymous user" => sub { + FixMyStreet::Script::Reports::send(); + $mech->clear_emails_ok; + + my $user = $mech->log_in_ok($user->email); + my $report = add_report( + 'contribute_as_anonymous_user', + form_as => 'anonymous_user', + title => "Test Report", + detail => 'Test report details.', + category => 'Street lighting', + ); + is $report->name, $body->name, 'report name is OK'; + is $report->user->name, 'Body User', 'user name unchanged'; + is $report->user->id, $user->id, 'user matches'; + is $report->anonymous, 1, 'report anonymous'; + is $report->get_extra_metadata('contributed_as'), 'anonymous_user'; + is $report->get_extra_metadata('contributed_by'), $user->id; + + $mech->log_in_ok($test_email); +}; + subtest "Body user, has permission to add update as council" => sub { my $update = add_update( 'contribute_as_body', diff --git a/t/app/controller/report_new_anon.t b/t/app/controller/report_new_anon.t index bd73a2b70..b14814f59 100644 --- a/t/app/controller/report_new_anon.t +++ b/t/app/controller/report_new_anon.t @@ -202,6 +202,7 @@ subtest "test report creation anonymously by staff user" => sub { is $report->name, 'Anonymous Button'; is $report->anonymous, 1; is $report->get_extra_metadata('contributed_as'), 'anonymous_user'; + is $report->get_extra_metadata('contributed_by'), $staffuser->id; my $alert = FixMyStreet::DB->resultset('Alert')->find( { user => $report->user, |