aboutsummaryrefslogtreecommitdiffstats
path: root/t/app/controller
diff options
context:
space:
mode:
Diffstat (limited to 't/app/controller')
-rw-r--r--t/app/controller/admin/bodies.t7
-rw-r--r--t/app/controller/admin/roles.t9
-rw-r--r--t/app/controller/admin/templates.t9
-rw-r--r--t/app/controller/admin/users.t22
-rw-r--r--t/app/controller/moderate.t12
5 files changed, 54 insertions, 5 deletions
diff --git a/t/app/controller/admin/bodies.t b/t/app/controller/admin/bodies.t
index cd86e3da6..aaa9bca65 100644
--- a/t/app/controller/admin/bodies.t
+++ b/t/app/controller/admin/bodies.t
@@ -327,4 +327,11 @@ FixMyStreet::override_config {
};
};
+subtest 'check log of the above' => sub {
+ $mech->get_ok('/admin/users/' . $superuser->id . '/log');
+ $mech->content_contains('Added category <a href="/admin/body/' . $body->id . '/test/category">test/category</a>');
+ $mech->content_contains('Edited category <a href="/admin/body/' . $body->id . '/test category">test category</a>');
+ $mech->content_contains('Edited body <a href="/admin/body/' . $body->id . '">Aberdeen City Council</a>');
+};
+
done_testing();
diff --git a/t/app/controller/admin/roles.t b/t/app/controller/admin/roles.t
index 6dd40cbb6..bc8371404 100644
--- a/t/app/controller/admin/roles.t
+++ b/t/app/controller/admin/roles.t
@@ -22,7 +22,7 @@ $user->user_body_permissions->create({
permission_type => 'report_edit_priority',
});
-FixMyStreet::DB->resultset("Role")->create({
+my $role_a = FixMyStreet::DB->resultset("Role")->create({
body => $body,
name => 'Role A',
permissions => ['moderate', 'user_edit'],
@@ -129,4 +129,11 @@ subtest 'superuser can see all bodies' => sub {
$mech->content_contains('Role C');
};
+subtest 'check log of the above' => sub {
+ my $id = FixMyStreet::DB->resultset("Role")->find({ name => "Role B" })->id;
+ $mech->get_ok('/admin/users/' . $editor->id . '/log');
+ $mech->content_contains('Added role <a href="/admin/roles/' . $id . '">Role B</a>');
+ $mech->content_contains('Deleted role ' . $role_a->id);
+};
+
done_testing();
diff --git a/t/app/controller/admin/templates.t b/t/app/controller/admin/templates.t
index 3bbd7bf85..39903deb1 100644
--- a/t/app/controller/admin/templates.t
+++ b/t/app/controller/admin/templates.t
@@ -61,7 +61,13 @@ subtest "response templates can be added" => sub {
};
$mech->submit_form_ok( { with_fields => $fields } );
- is $oxfordshire->response_templates->count, 1, "Response template was added";
+ is $oxfordshire->response_templates->count, 1, "Response template was added";
+};
+
+subtest 'check log of the above' => sub {
+ my $template_id = $oxfordshire->response_templates->first->id;
+ $mech->get_ok('/admin/users/' . $superuser->id . '/log');
+ $mech->content_contains('Added template <a href="/admin/templates/' . $oxfordshire->id . '/' . $template_id . '">Report acknowledgement</a>');
};
subtest "but not another with the same title" => sub {
@@ -215,7 +221,6 @@ subtest "auto-response templates that duplicate external_status_code can't be ad
});
is $oxfordshire->response_templates->count, 1, "Initial response template was created";
-
$mech->log_in_ok( $superuser->email );
$mech->get_ok( "/admin/templates/" . $oxfordshire->id . "/new" );
diff --git a/t/app/controller/admin/users.t b/t/app/controller/admin/users.t
index 17256a214..95aac051d 100644
--- a/t/app/controller/admin/users.t
+++ b/t/app/controller/admin/users.t
@@ -3,6 +3,7 @@ use FixMyStreet::TestMech;
my $mech = FixMyStreet::TestMech->new;
my $user = $mech->create_user_ok('test@example.com', name => 'Test User');
+my $original_user_id = $user->id; # For log later
my $user2 = $mech->create_user_ok('test2@example.com', name => 'Test User 2');
my $user3 = $mech->create_user_ok('test3@example.com', name => 'Test User 3');
@@ -649,4 +650,25 @@ subtest "View timeline" => sub {
$mech->get_ok('/admin/timeline');
};
+subtest 'View user log' => sub {
+ my $p = FixMyStreet::DB->resultset('Problem')->search({ user_id => $user->id })->first;
+ $user->add_to_planned_reports($p);
+
+ # User 1 created all the reports
+ my $id = $p->id;
+ $mech->get_ok('/admin/users?search=' . $user->email);
+ $mech->follow_link_ok({ text => 'Timeline', n => 2 });
+ $mech->content_like(qr/Problem.*?>$id<\/a> created/);
+ $mech->content_like(qr/Problem.*?>$id<\/a> added to shortlist/);
+
+ # User 3 edited user 2 above
+ $mech->get_ok('/admin/users/' . $user3->id . '/log');
+ $mech->content_like(qr/Edited user.*?test2\@example/);
+
+ # Superuser added a user, and merged one
+ $mech->get_ok('/admin/users/' . $superuser->id . '/log');
+ $mech->content_like(qr/Added user.*?0156/);
+ $mech->content_like(qr/Merged user $original_user_id/);
+};
+
done_testing();
diff --git a/t/app/controller/moderate.t b/t/app/controller/moderate.t
index e22d9edbc..fdbd0abb6 100644
--- a/t/app/controller/moderate.t
+++ b/t/app/controller/moderate.t
@@ -475,8 +475,6 @@ subtest 'updates' => sub {
}});
$mech->content_lacks('update good good bad good');
};
-
- $update->moderation_original_data->delete;
};
my $update2 = create_update();
@@ -515,4 +513,14 @@ subtest 'And do it as a superuser' => sub {
subtest 'Check moderation history in admin' => sub {
$mech->get_ok('/admin/report_edit/' . $report->id);
};
+
+subtest 'Check moderation in user log' => sub {
+ $mech->get_ok('/admin/users/' . $user->id . '/log');
+ my $report_id = $report->id;
+ $mech->content_like(qr/Moderated report.*?$report_id/);
+ my $update_id = $update->id;
+ $mech->content_like(qr/Moderated update.*?$update_id/);
+};
+
+
done_testing();