Files
grecia/spec/components/layout/cookies_consent/management_component_spec.rb
taitus 7407c386a6 Render third party cookies in the management component
Set cookie duration to 365 days based on the AEPD's cookie usage guidelines.

Note from the document: "Cookies with a duration of up to 24 months are
considered acceptable as long as they are periodically updated."
Reference: https://www.aepd.es/guias/guia-cookies.pdf
2025-01-23 17:16:55 +01:00

46 lines
1.6 KiB
Ruby

require "rails_helper"
describe Layout::CookiesConsent::ManagementComponent do
before { Setting["feature.cookies_consent"] = true }
it "is not rendered when the cookies consent feature is disabled" do
Setting["feature.cookies_consent"] = false
render_inline Layout::CookiesConsent::ManagementComponent.new
expect(page).not_to be_rendered
end
it "is rendered when the cookies consent is enabled" do
Setting["cookies_consent.more_info_link"] = "/cookies_policy"
create(:cookies_vendor)
render_inline Layout::CookiesConsent::ManagementComponent.new
expect(page).to be_rendered
expect(page).to have_css "h2", text: "Cookies management"
expect(page).to have_link "More information about cookies", href: "/cookies_policy"
expect(page).to have_css "h3", text: "Essential cookies"
expect(page).to have_css ".switch-input[type='checkbox'][name='essential_cookies'][disabled][checked]"
expect(page).to have_css "h3", text: "Third party cookies"
expect(page).to have_button "Accept all"
expect(page).to have_button "Accept essential cookies"
end
it "does not render a link when the setting `cookies_consent.more_info_link` is not defined" do
Setting["cookies_consent.more_info_link"] = ""
render_inline Layout::CookiesConsent::ManagementComponent.new
expect(page).not_to have_link "More information about cookies"
expect(page).to be_rendered
end
it "does not render an `Accept all` button when there aren't any cookie vendors" do
render_inline Layout::CookiesConsent::ManagementComponent.new
expect(page).not_to have_button "Accept all"
expect(page).to be_rendered
end
end