Move specs from imageable shared feature spec to proposals and budget investments path.
This commit is contained in:
@@ -36,7 +36,7 @@ feature 'Budget Investments' do
|
|||||||
visit budget_investments_path(budget, heading_id: heading.id)
|
visit budget_investments_path(budget, heading_id: heading.id)
|
||||||
|
|
||||||
within("#budget_investment_#{investment.id}") do
|
within("#budget_investment_#{investment.id}") do
|
||||||
expect(page).not_to have_css("img")
|
expect(page).to have_css("div.no-image")
|
||||||
end
|
end
|
||||||
within("#budget_investment_#{investment_with_image.id}") do
|
within("#budget_investment_#{investment_with_image.id}") do
|
||||||
expect(page).to have_css("img[alt='#{investment_with_image.image.title}']")
|
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 "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",
|
it_behaves_like "nested imageable",
|
||||||
"budget_investment",
|
"budget_investment",
|
||||||
|
|||||||
@@ -45,6 +45,22 @@ feature 'Proposals' do
|
|||||||
|
|
||||||
expect(page).to have_selector('#proposals .proposal', count: 2)
|
expect(page).to have_selector('#proposals .proposal', count: 2)
|
||||||
end
|
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
|
end
|
||||||
|
|
||||||
scenario 'Show' do
|
scenario 'Show' do
|
||||||
@@ -1274,7 +1290,7 @@ feature 'Proposals' do
|
|||||||
|
|
||||||
it_behaves_like "followable", "proposal", "proposal_path", { "id": "id" }
|
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",
|
it_behaves_like "nested imageable",
|
||||||
"proposal",
|
"proposal",
|
||||||
|
|||||||
@@ -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 ActionView::Helpers
|
||||||
include ImagesHelper
|
include ImagesHelper
|
||||||
include ImageablesHelper
|
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_path_arguments.each do |argument_name, path_to_value|
|
||||||
imageable_arguments.merge!("#{argument_name}": imageable.send(path_to_value))
|
imageable_arguments.merge!("#{argument_name}": imageable.send(path_to_value))
|
||||||
end
|
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
|
end
|
||||||
|
|
||||||
context "Show" do
|
context "Show" do
|
||||||
|
|||||||
Reference in New Issue
Block a user