Move specs from imageable shared feature spec to proposals and budget investments path.

This commit is contained in:
Senén Rodero Rodríguez
2017-09-13 20:15:21 +02:00
parent ceabd16d57
commit 16692c933e
3 changed files with 20 additions and 32 deletions

View File

@@ -36,7 +36,7 @@ feature 'Budget Investments' do
visit budget_investments_path(budget, heading_id: heading.id)
within("#budget_investment_#{investment.id}") do
expect(page).not_to have_css("img")
expect(page).to have_css("div.no-image")
end
within("#budget_investment_#{investment_with_image.id}") do
expect(page).to have_css("img[alt='#{investment_with_image.image.title}']")
@@ -464,7 +464,7 @@ feature 'Budget Investments' do
it_behaves_like "followable", "budget_investment", "budget_investment_path", { "budget_id": "budget_id", "id": "id" }
it_behaves_like "imageable", "budget_investment", "budget_investment_path", { "budget_id": "budget_id", "id": "id" }, "budget_investments_path", { "budget_id": "budget_id" }
it_behaves_like "imageable", "budget_investment", "budget_investment_path", { "budget_id": "budget_id", "id": "id" }
it_behaves_like "nested imageable",
"budget_investment",

View File

@@ -45,6 +45,22 @@ feature 'Proposals' do
expect(page).to have_selector('#proposals .proposal', count: 2)
end
scenario 'Index should show proposal descriptive image only when is defined' do
featured_proposals = create_featured_proposals
proposal = create(:proposal)
proposal_with_image = create(:proposal)
image = create(:image, imageable: proposal_with_image)
visit proposals_path(proposal)
within("#proposal_#{proposal.id}") do
expect(page).to have_css("div.no-image")
end
within("#proposal_#{proposal_with_image.id}") do
expect(page).to have_css("img[alt='#{proposal_with_image.image.title}']")
end
end
end
scenario 'Show' do
@@ -1274,7 +1290,7 @@ feature 'Proposals' do
it_behaves_like "followable", "proposal", "proposal_path", { "id": "id" }
it_behaves_like "imageable", "proposal", "proposal_path", { "id": "id" }, "proposals_path", {}
it_behaves_like "imageable", "proposal", "proposal_path", { "id": "id" }
it_behaves_like "nested imageable",
"proposal",

View File

@@ -1,4 +1,4 @@
shared_examples "imageable" do |imageable_factory_name, imageable_path, imageable_path_arguments, imageables_path, imageables_path_arguments|
shared_examples "imageable" do |imageable_factory_name, imageable_path, imageable_path_arguments|
include ActionView::Helpers
include ImagesHelper
include ImageablesHelper
@@ -16,34 +16,6 @@ shared_examples "imageable" do |imageable_factory_name, imageable_path, imageabl
imageable_path_arguments.each do |argument_name, path_to_value|
imageable_arguments.merge!("#{argument_name}": imageable.send(path_to_value))
end
imageables_path_arguments.each do |argument_name, path_to_value|
imageables_arguments.merge!("#{argument_name}": imageable.send(path_to_value))
end
end
context "Index" do
let!(:featured) { create_list(imageable_factory_name, 3) }
let!(:imageable_with_image) { create(imageable_factory_name) }
let!(:image) { create(:image, imageable: imageable_with_image) }
let!(:imageable_without_image) { create(imageable_factory_name) }
scenario "should show default imageable image not defined" do
visit send(imageables_path, imageables_arguments)
within "##{dom_id(imageable_without_image)}" do
expect(page).to have_css("div.no-image")
end
end
scenario "should show imageable image when exists" do
image = create(:image, imageable: imageable)
visit send(imageables_path, imageables_arguments)
expect(page).to have_css("img[alt='#{image.title}']")
end
end
context "Show" do