Files
grecia/spec/system/admin/site_customization/images_spec.rb
Javi Martín 597a21eca9 Add alt attribute to map images
We were using it on the map displayed on the sidebar, but we weren't
using it in the other places were the map is rendered.
2024-11-12 18:25:20 +01:00

121 lines
3.3 KiB
Ruby

require "rails_helper"
describe "Admin custom images", :admin do
scenario "Upload valid png image" do
visit admin_root_path
within("#side_menu") do
click_button "Site content"
click_link "Custom images"
end
within("tr#image_logo_header") do
attach_file "logo_header", file_fixture("logo_header.png")
click_button "Update"
end
expect(page).to have_css("tr#image_logo_header img[src*='logo_header.png']")
expect(page).to have_css("img[src*='logo_header.png']", count: 1)
end
scenario "Upload valid jpg image" do
visit admin_site_customization_images_path
within("tr#image_map") do
attach_file "map", file_fixture("custom_map.jpg")
click_button "Update"
end
expect(page).to have_css("tr#image_map img[src*='custom_map.jpg']")
expect(page).to have_css("img[src*='custom_map.jpg']", count: 1)
end
scenario "Image is replaced on front views" do
create(:geozone)
budget = create(:budget)
group = create(:budget_group, budget: budget)
visit admin_site_customization_images_path
within("tr#image_map") do
attach_file "map", file_fixture("custom_map.jpg")
click_button "Update"
end
visit proposals_path
within("#map") do
expect(page).to have_css("img[src*='custom_map.jpg'][alt='Districts list']")
end
visit map_proposals_path
within(".show-for-medium") do
expect(page).to have_css("img[src*='custom_map.jpg'][alt='Districts list']")
end
visit budget_group_path(budget, group)
within(".show-for-medium") do
expect(page).to have_css("img[src*='custom_map.jpg'][alt='Districts list']")
end
end
scenario "Custom apple touch icon is replaced on front views" do
create(:site_customization_image,
name: "apple-touch-icon-200",
image: fixture_file_upload("apple-touch-icon-custom-200.png"))
visit root_path
expect(page).not_to have_css("link[href*='apple-touch-icon-200']", visible: :all)
expect(page).to have_css("link[href*='apple-touch-icon-custom-200']", visible: :hidden)
end
scenario "Image is replaced on admin newsletters" do
newsletter = create(:newsletter, segment_recipient: "all_users")
visit admin_site_customization_images_path
within("tr#image_logo_email") do
attach_file "logo_email", file_fixture("logo_email_custom.png")
click_button "Update"
end
visit admin_newsletter_path(newsletter)
within(".newsletter-body-content") do
expect(page).to have_css("img[src*='logo_email_custom.png']")
end
end
scenario "Upload invalid image" do
visit admin_site_customization_images_path
within("tr#image_social_media_icon") do
attach_file "social_media_icon", file_fixture("logo_header.png")
click_button "Update"
end
expect(page).to have_content("Width must be 470px")
expect(page).to have_content("Height must be 246px")
end
scenario "Delete image" do
visit admin_site_customization_images_path
within("tr#image_social_media_icon") do
attach_file "social_media_icon", file_fixture("social_media_icon.png")
click_button "Update"
end
expect(page).to have_css("img[src*='social_media_icon.png']")
within("tr#image_social_media_icon") do
click_button "Delete"
end
expect(page).not_to have_css("img[src*='social_media_icon.png']")
end
end