Files
grecia/spec/system/admin/budget_phases_spec.rb
taitus bdf4d6a79c Do not use the wizard component when edit phases
Currently we were using the wizard component to edit a
phase when we were no longer in the wizard.

This was a bit strange, as it took us out of the context
and showed us information such as the
CreationTimelineComponent or the HelpComponent
that is meant for when navigating the Wizard.
2022-04-12 14:41:48 +02:00

78 lines
2.8 KiB
Ruby

require "rails_helper"
describe "Admin budget phases" do
let(:budget) { create(:budget) }
context "Edit", :admin do
scenario "Update phase" do
visit edit_admin_budget_budget_phase_path(budget, budget.current_phase)
expect(page).to have_content "These fields are used for information purposes only and do not trigger "\
"an automatic update of the active phase. In order to update it, edit "\
"the budget and select the active phase."
expect(page).to have_content "For information purposes only"
fill_in "start_date", with: Date.current + 1.day
fill_in "end_date", with: Date.current + 12.days
fill_in_ckeditor "Description", with: "New description of the phase."
uncheck "budget_phase_enabled"
click_button "Save changes"
expect(page).to have_current_path(admin_budget_path(budget))
expect(page).to have_content "Changes saved"
expect(budget.current_phase.starts_at.to_date).to eq((Date.current + 1.day).to_date)
expect(budget.current_phase.ends_at.to_date).to eq((Date.current + 12.days).to_date)
expect(budget.current_phase.description).to include("New description of the phase.")
expect(budget.current_phase.enabled).to be(false)
end
scenario "Show default phase name or custom if present" do
visit admin_budget_path(budget)
within_table "Phases" do
expect(page).to have_content "Accepting projects"
expect(page).not_to have_content "My phase custom name"
within("tr", text: "Accepting projects") { click_link "Edit" }
end
expect(page).to have_css "h3", exact_text: "Edit phase - Accepting projects"
fill_in "Name", with: "My phase custom name"
click_button "Save changes"
within_table "Phases" do
expect(page).to have_content "My phase custom name"
expect(page).not_to have_content "Accepting projects"
end
end
scenario "shows successful notice when updating the phase with a valid image" do
visit edit_admin_budget_budget_phase_path(budget, budget.current_phase)
imageable_attach_new_file(file_fixture("clippy.jpg"))
click_on "Save changes"
expect(page).to have_content "Changes saved"
end
scenario "shows CTA link in public site if added" do
visit edit_admin_budget_budget_phase_path(budget, budget.current_phase)
expect(page).to have_content "Main call to action (optional)"
fill_in "Text on the link", with: "Link on the phase"
fill_in "The link takes you to (add a link)", with: "https://consulproject.org"
click_button "Save changes"
expect(page).to have_content("Changes saved")
visit budgets_path
expect(page).to have_link("Link on the phase", href: "https://consulproject.org")
end
end
end