7 changed files with 49 additions and 8 deletions
@ -0,0 +1,6 @@
|
||||
module FormPageErrorHelper |
||||
def remove_other_page_errors(case_log, page) |
||||
other_page_error_ids = case_log.errors.map(&:attribute) - page.questions.map { |q| q.id.to_sym }.concat([:base]) |
||||
other_page_error_ids.each { |id| case_log.errors.delete(id) } |
||||
end |
||||
end |
@ -0,0 +1,24 @@
|
||||
require "rails_helper" |
||||
|
||||
RSpec.describe FormPageErrorHelper do |
||||
describe "#remove_other_page_errors" do |
||||
context "removes non base other questions" do |
||||
let!(:case_log) { FactoryBot.create(:case_log, :in_progress) } |
||||
let!(:form) { case_log.form } |
||||
|
||||
before do |
||||
case_log.errors.add :layear, "error" |
||||
case_log.errors.add :period, "error_one" |
||||
case_log.errors.add :base, "error_too" |
||||
end |
||||
|
||||
it "returns details and user tabs" do |
||||
page = form.get_page("rent") |
||||
remove_other_page_errors(case_log, page) |
||||
expect(case_log.errors.count).to eq(2) |
||||
expect(case_log.errors.map(&:attribute)).to include(:period) |
||||
expect(case_log.errors.map(&:attribute)).to include(:base) |
||||
end |
||||
end |
||||
end |
||||
end |
Loading…
Reference in new issue