Browse Source

Load FormFixture only in tests (#1643)

It caused superclass mismatch errors. We can stop seeing this bug in local development by defining the class only in test environments
pull/1634/head
Jack 2 years ago committed by GitHub
parent
commit
31ea432cf6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 42
      spec/factories/form.rb

42
spec/factories/form.rb

@ -1,25 +1,27 @@
class FormFixture < Form if Rails.env.test?
attr_accessor :sections, :subsections, :pages, :questions class FormFixture < Form
end attr_accessor :sections, :subsections, :pages, :questions
class FormFactory
def initialize(year:, type:)
@year = year
@type = type
end end
def with_sections(sections) class FormFactory
@sections = sections def initialize(year:, type:)
self @year = year
end @type = type
end
def with_sections(sections)
@sections = sections
self
end
def build def build
form = FormFixture.new(nil, @year, [], @type) form = FormFixture.new(nil, @year, [], @type)
@sections.each { |section| section.form = form } @sections.each { |section| section.form = form }
form.sections = @sections form.sections = @sections
form.subsections = form.sections.flat_map(&:subsections) form.subsections = form.sections.flat_map(&:subsections)
form.pages = form.subsections.flat_map(&:pages) form.pages = form.subsections.flat_map(&:pages)
form.questions = form.pages.flat_map(&:questions) form.questions = form.pages.flat_map(&:questions)
form form
end
end end
end end

Loading…
Cancel
Save