Custom content blocks for top_links and footer

This commit is contained in:
Amaia Castro
2017-03-24 17:12:33 +01:00
parent ae3690ab5f
commit c1de2dced4
24 changed files with 435 additions and 10 deletions

View File

@@ -0,0 +1,107 @@
require 'rails_helper'
feature "Admin custom content blocks" do
background do
admin = create(:administrator)
login_as(admin.user)
end
scenario "Index" do
block = create(:site_customization_content_block)
visit admin_site_customization_content_blocks_path
expect(page).to have_content(block.name)
expect(page).to have_content(block.body)
end
context "Create" do
scenario "Valid custom block" do
visit admin_root_path
within("#side_menu") do
click_link "Custom content blocks"
end
expect(page).to_not have_content "footer (es)"
click_link "Create new content block"
select "footer", from: "site_customization_content_block_name"
select "es", from: "site_customization_content_block_locale"
fill_in "site_customization_content_block_body", with: "Some custom content"
click_button "Create Custom content block"
expect(page).to have_content "footer (es)"
expect(page).to have_content "Some custom content"
end
scenario "Invalid custom block" do
block = create(:site_customization_content_block)
visit admin_root_path
within("#side_menu") do
click_link "Custom content blocks"
end
expect(page).to have_content "top_links (en)"
click_link "Create new content block"
select "top_links", from: "site_customization_content_block_name"
select "en", from: "site_customization_content_block_locale"
fill_in "site_customization_content_block_body", with: "Some custom content"
click_button "Create Custom content block"
expect(page).to have_content "Content block couldn't be created"
expect(page).to have_content "has already been taken"
end
end
context "Update" do
scenario "Valid custom block" do
block = create(:site_customization_content_block)
visit admin_root_path
within("#side_menu") do
click_link "Custom content blocks"
end
click_link "top_links (en)"
fill_in "site_customization_content_block_body", with: "Some other custom content"
click_button "Update Custom content block"
expect(page).to have_content "Content block updated successfully"
expect(page).to have_content "Some other custom content"
end
end
context "Delete" do
scenario "From index page" do
block = create(:site_customization_content_block)
visit admin_site_customization_content_blocks_path
expect(page).to have_content("#{block.name} (#{block.locale})")
expect(page).to have_content(block.body)
click_button "Delete"
expect(page).to_not have_content("#{block.name} (#{block.locale})")
expect(page).to_not have_content(block.body)
end
scenario "From edit page" do
block = create(:site_customization_content_block)
visit edit_admin_site_customization_content_block_path(block)
click_button "Delete"
expect(page).to_not have_content("#{block.name} (#{block.locale})")
expect(page).to_not have_content(block.body)
end
end
end