docbrown/spec/requests/admin/users/gdpr_delete_requests_spec.rb
Anna Buianova 5430448305
Confirmations that users GDPR data was deleted (#11039)
* Display gdpr delete requests for deleted users in admin

* Added a test for destroy a gdpr request

* Reorganized gdpr requests menu

* Update schema version

* Added a link to the flash notice after user delete by admin

* Fix namespace for tests

* Aligh schema.rb with master

* Added a missing newline

* Removed unused partial

* Fix typo

Co-authored-by: Michael Kohl <me@citizen428.net>

* Replaced string with symbols for AR

Co-authored-by: Michael Kohl <me@citizen428.net>

* Added an AuditLog record on gdpr delete confirmation

* Make email and user_id required in Users::GdprDeleteRequest

* Checked out package.json from master

* Fix Gdpr => GDPR

* Added missing space

* Remove unneeded freeze

Co-authored-by: Michael Kohl <me@citizen428.net>
2020-12-14 12:49:45 +03:00

47 lines
1.4 KiB
Ruby

require "rails_helper"
RSpec.describe "admin/users/gdpr_delete_requests", type: :request do
let(:admin) { create(:user, :super_admin) }
before do
sign_in(admin)
end
context "with gdpr request" do
let!(:gdr) { create(:gdpr_delete_request, email: "user@dev.to") }
it "renders successfully" do
get admin_users_gdpr_delete_requests_path
expect(response).to be_successful
end
it "displays the gdpr delete requests" do
get admin_users_gdpr_delete_requests_path
expect(response.body).to include("user@dev.to")
end
it "displays the number of existing requests" do
get admin_users_gdpr_delete_requests_path
expect(response.body).to include("<span class=\"crayons-indicator crayons-indicator--critical\">1</span>")
end
it "destroys the gdpr delete request on confirmation" do
expect do
delete admin_users_gdpr_delete_request_path(gdr.id)
end.to change(Users::GdprDeleteRequest, :count).by(-1)
end
it "creates a corresponding audit_log on confirmation" do
expect do
delete admin_users_gdpr_delete_request_path(gdr.id)
end.to change(AuditLog, :count).by(1)
end
end
context "without gdpr request" do
it "doesn't display the number of existing requests" do
get admin_users_gdpr_delete_requests_path
expect(response.body).not_to include("<span class=\"crayons-indicator crayons-indicator--critical\">0</span>")
end
end
end