Allow administrators to define the cookies vendors the application uses

This commit is contained in:
taitus
2024-11-29 13:08:29 +01:00
parent 390c749d24
commit 6753505e7c
31 changed files with 375 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
require "rails_helper"
describe "Admin cookies vendors", :admin do
describe "Index" do
scenario "Shows existing cookies and links to actions" do
create(:cookies_vendor, name: "Third party", cookie: "third_party")
visit admin_settings_path(anchor: "tab-cookies-consent")
expect(page).to have_content "Third party"
expect(page).to have_content "third_party"
expect(page).to have_link "Edit"
expect(page).to have_button "Delete"
expect(page).to have_link "Create cookie vendor"
end
end
describe "Create" do
scenario "Shows a notice and the new cookie after creation" do
visit admin_settings_path(anchor: "tab-cookies-consent")
click_link "Create cookie vendor"
fill_in "Vendor name", with: "Vendor name"
fill_in "Cookie name", with: "vendor_cookie"
fill_in "Description", with: "Cookie details"
click_button "Create cookie vendor"
expect(page).to have_content "Cookie vendor created successfully"
expect(page).to have_content "Vendor name"
expect(page).to have_content "vendor_cookie"
end
end
describe "Update" do
scenario "Shows a notice and the cookie changes after update" do
create(:cookies_vendor, name: "Third party", cookie: "third_party")
visit admin_settings_path(anchor: "tab-cookies-consent")
click_link "Edit"
fill_in "Vendor name", with: "Cool Company Name"
click_button "Update cookie vendor"
expect(page).to have_content "Cookie vendor updated successfully"
expect(page).to have_content "Cool Company Name"
end
end
describe "Destroy" do
scenario "Shows a notice and removes cookie" do
create(:cookies_vendor, name: "Analitics cookie", cookie: "analitics_cookie")
visit admin_settings_path(anchor: "tab-cookies-consent")
expect(page).to have_content "Analitics cookie"
expect(page).to have_content "analitics_cookie"
accept_confirm { click_button "Delete Analitics cookie" }
expect(page).to have_content "Cookie vendor deleted successfully"
expect(page).not_to have_content "Analitics cookie"
expect(page).not_to have_content "analitics_cookie"
end
end
end