Files
grecia/spec/system/admin/budget_phases_spec.rb
Julian Herrero 43ad69bbaf Allow attaching an image to budget phases
Co-authored-by: decabeza <alberto@decabeza.es>
2021-06-09 21:47:58 +02:00

60 lines
2.0 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)
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(edit_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 edit_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 phase" }
end
expect(page).to have_css "h2", 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(
"budget_phase_image",
Rails.root.join("spec/fixtures/files/clippy.jpg")
)
click_on "Save changes"
expect(page).to have_content "Changes saved"
end
end
end