Files
nairobi/spec/shared/system/progressable.rb
Javi Martín 9427f01442 Use system specs instead of feature specs
We get rid of database cleaner, and JavaScript tests are faster because
between tests we now rollback transactions instead of truncating the
database.
2020-04-24 15:43:54 +02:00

46 lines
1.2 KiB
Ruby

shared_examples "progressable" do |factory_name, path_name|
describe "Progress bars", :js do
let!(:progressable) { create(factory_name) }
let(:path) { send(path_name, *resource_hierarchy_for(progressable)) }
scenario "With main progress bar" do
create(:progress_bar, progressable: progressable)
visit path
find("#tab-milestones-label").click
within("#tab-milestones") do
expect(page).to have_content "Progress"
end
end
scenario "With main and secondary progress bar" do
create(:progress_bar, progressable: progressable)
create(:progress_bar, :secondary, progressable: progressable, title: "Build laboratory")
visit path
find("#tab-milestones-label").click
within("#tab-milestones") do
expect(page).to have_content "Progress"
expect(page).to have_content "Build laboratory"
end
end
scenario "No main progress bar" do
create(:progress_bar, :secondary, progressable: progressable, title: "Defeat Evil Lords")
visit path
find("#tab-milestones-label").click
within("#tab-milestones") do
expect(page).not_to have_content "Progress"
expect(page).not_to have_content "Defeat Evil Lords"
end
end
end
end