Custom content blocks for top_links and footer
This commit is contained in:
107
spec/features/admin/site_customization/content_blocks_spec.rb
Normal file
107
spec/features/admin/site_customization/content_blocks_spec.rb
Normal 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
|
||||
Reference in New Issue
Block a user