diff options
author | Matthew Somerville <matthew-github@dracos.co.uk> | 2018-05-24 10:33:05 +0100 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2018-05-24 10:33:05 +0100 |
commit | 72ab2740e2c8c24e62b6e9d98f686498b1225b09 (patch) | |
tree | 4e0260c14afbbdcd79ebe66f09aa37d9af509157 /t/app | |
parent | da305260b4db386af9fb2c48d9055a2934069c84 (diff) | |
parent | ec4fb8fe445efd5cb584ac7021707c41a0188cdb (diff) |
Merge branch 'user-inactivity'
Diffstat (limited to 't/app')
-rw-r--r-- | t/app/controller/admin/report_edit.t | 46 | ||||
-rw-r--r-- | t/app/model/session.t | 14 |
2 files changed, 58 insertions, 2 deletions
diff --git a/t/app/controller/admin/report_edit.t b/t/app/controller/admin/report_edit.t index 0a4e702bb..5e3e6c315 100644 --- a/t/app/controller/admin/report_edit.t +++ b/t/app/controller/admin/report_edit.t @@ -79,6 +79,7 @@ foreach my $test ( anonymous => 0, flagged => undef, non_public => undef, + closed_updates => undef, }, changes => { title => 'Edited Report', }, log_entries => [qw/edit/], @@ -95,6 +96,7 @@ foreach my $test ( anonymous => 0, flagged => undef, non_public => undef, + closed_updates => undef, }, changes => { detail => 'Edited Detail', }, log_entries => [qw/edit edit/], @@ -111,6 +113,7 @@ foreach my $test ( anonymous => 0, flagged => undef, non_public => undef, + closed_updates => undef, }, changes => { name => 'Edited User', }, log_entries => [qw/edit edit edit/], @@ -128,6 +131,7 @@ foreach my $test ( anonymous => 0, flagged => undef, non_public => undef, + closed_updates => undef, }, changes => { flagged => 'on', @@ -147,6 +151,7 @@ foreach my $test ( anonymous => 0, flagged => 'on', non_public => undef, + closed_updates => undef, }, changes => { username => $user2->email, }, log_entries => [qw/edit edit edit edit edit/], @@ -164,6 +169,7 @@ foreach my $test ( anonymous => 0, flagged => 'on', non_public => undef, + closed_updates => undef, }, expect_comment => 1, changes => { state => 'unconfirmed' }, @@ -181,6 +187,7 @@ foreach my $test ( anonymous => 0, flagged => 'on', non_public => undef, + closed_updates => undef, }, expect_comment => 1, changes => { state => 'confirmed' }, @@ -198,6 +205,7 @@ foreach my $test ( anonymous => 0, flagged => 'on', non_public => undef, + closed_updates => undef, }, expect_comment => 1, changes => { state => 'fixed' }, @@ -216,6 +224,7 @@ foreach my $test ( anonymous => 0, flagged => 'on', non_public => undef, + closed_updates => undef, }, expect_comment => 1, changes => { state => 'hidden' }, @@ -235,6 +244,7 @@ foreach my $test ( anonymous => 0, flagged => 'on', non_public => undef, + closed_updates => undef, }, expect_comment => 1, changes => { @@ -257,6 +267,7 @@ foreach my $test ( anonymous => 1, flagged => 'on', non_public => undef, + closed_updates => undef, }, changes => {}, log_entries => [ @@ -275,6 +286,7 @@ foreach my $test ( anonymous => 1, flagged => 'on', non_public => undef, + closed_updates => undef, }, changes => { non_public => 'on', @@ -285,6 +297,24 @@ foreach my $test ( resend => 0, }, { + description => 'close to updates', + fields => { + title => 'Edited Report', + detail => 'Edited Detail', + state => 'confirmed', + name => 'Edited User', + username => $user2->email, + anonymous => 1, + flagged => 'on', + non_public => 'on', + closed_updates => undef, + }, + changes => { closed_updates => 'on' }, + log_entries => [ + qw/edit edit resend edit state_change edit state_change edit state_change edit state_change edit state_change edit edit edit edit edit/ + ], + }, + { description => 'change state to investigating as body superuser', fields => { title => 'Edited Report', @@ -295,12 +325,13 @@ foreach my $test ( anonymous => 1, flagged => 'on', non_public => 'on', + closed_updates => undef, }, expect_comment => 1, user_body => $oxfordshire, changes => { state => 'investigating' }, log_entries => [ - qw/edit state_change edit resend edit state_change edit state_change edit state_change edit state_change edit state_change edit edit edit edit edit/ + qw/edit state_change edit edit resend edit state_change edit state_change edit state_change edit state_change edit state_change edit edit edit edit edit/ ], resend => 0, }, @@ -315,13 +346,14 @@ foreach my $test ( anonymous => 1, flagged => 'on', non_public => 'on', + closed_updates => undef, }, expect_comment => 1, expected_text => '*Category changed from ‘Other’ to ‘Potholes’*', user_body => $oxfordshire, changes => { state => 'in progress', category => 'Potholes' }, log_entries => [ - qw/edit state_change edit state_change edit resend edit state_change edit state_change edit state_change edit state_change edit state_change edit edit edit edit edit/ + qw/edit state_change edit state_change edit edit resend edit state_change edit state_change edit state_change edit state_change edit state_change edit edit edit edit edit/ ], resend => 0, }, @@ -371,6 +403,15 @@ foreach my $test ( $test->{changes}->{flagged} = 1 if $test->{changes}->{flagged}; $test->{changes}->{non_public} = 1 if $test->{changes}->{non_public}; + if ($test->{changes}->{closed_updates}) { + is $report->get_extra_metadata('closed_updates'), 1, "closed_updates updated"; + $mech->get_ok("/report/$report_id"); + $mech->content_lacks('Provide an update'); + $report->unset_extra_metadata('closed_updates'); + $report->update; + delete $test->{changes}->{closed_updates}; + } + is $report->$_, $test->{changes}->{$_}, "$_ updated" for grep { $_ ne 'username' } keys %{ $test->{changes} }; if ( $test->{user} ) { @@ -451,6 +492,7 @@ subtest 'change email to new user' => sub { anonymous => 1, flagged => 'on', non_public => 'on', + closed_updates => undef, external_id => '13', external_body => '', external_team => '', diff --git a/t/app/model/session.t b/t/app/model/session.t new file mode 100644 index 000000000..f76533727 --- /dev/null +++ b/t/app/model/session.t @@ -0,0 +1,14 @@ +use FixMyStreet::TestMech; + +my $mech = FixMyStreet::TestMech->new; + +$mech->log_in_ok('test@example.com'); + +my $session = FixMyStreet::DB->resultset("Session")->first; + +my $id = $session->id; +$id =~ s/\s+$//; +is $id, "session:" . $session->id_code; +is $session->user->email, 'test@example.com'; + +done_testing; |