Browse Source

pass in id to gender identity question (#1088)

pull/1055/head
kosiakkatrina 2 years ago committed by GitHub
parent
commit
11d4941ffe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      app/models/form/sales/pages/person1_gender_identity.rb
  2. 2
      app/models/form/sales/pages/person1_gender_identity_joint_purchase.rb
  3. 3
      app/models/form/sales/questions/person1_gender_identity.rb
  4. 19
      app/models/form/sales/questions/person1_gender_identity_joint_purchase.rb
  5. 46
      spec/models/form/sales/questions/person1_gender_identity_joint_purchase_spec.rb
  6. 2
      spec/models/form/sales/questions/person1_gender_identity_spec.rb

2
app/models/form/sales/pages/person1_gender_identity.rb

@ -12,7 +12,7 @@ class Form::Sales::Pages::Person1GenderIdentity < ::Form::Page
def questions def questions
@questions ||= [ @questions ||= [
Form::Sales::Questions::Person1GenderIdentity.new(nil, nil, self), Form::Sales::Questions::Person1GenderIdentity.new("sex2", nil, self),
] ]
end end
end end

2
app/models/form/sales/pages/person1_gender_identity_joint_purchase.rb

@ -12,7 +12,7 @@ class Form::Sales::Pages::Person1GenderIdentityJointPurchase < ::Form::Page
def questions def questions
@questions ||= [ @questions ||= [
Form::Sales::Questions::Person1GenderIdentityJointPurchase.new(nil, nil, self), Form::Sales::Questions::Person1GenderIdentity.new("sex3", nil, self),
] ]
end end
end end

3
app/models/form/sales/questions/person1_gender_identity.rb

@ -1,13 +1,12 @@
class Form::Sales::Questions::Person1GenderIdentity < ::Form::Question class Form::Sales::Questions::Person1GenderIdentity < ::Form::Question
def initialize(id, hsh, page) def initialize(id, hsh, page)
super super
@id = "sex2"
@check_answer_label = "Person 1’s gender identity" @check_answer_label = "Person 1’s gender identity"
@header = "Which of these best describes Person 1’s gender identity?" @header = "Which of these best describes Person 1’s gender identity?"
@type = "radio" @type = "radio"
@page = page @page = page
@answer_options = ANSWER_OPTIONS @answer_options = ANSWER_OPTIONS
@check_answers_card_number = 2 @check_answers_card_number = id == "sex2" ? 2 : 3
end end
ANSWER_OPTIONS = { ANSWER_OPTIONS = {

19
app/models/form/sales/questions/person1_gender_identity_joint_purchase.rb

@ -1,19 +0,0 @@
class Form::Sales::Questions::Person1GenderIdentityJointPurchase < ::Form::Question
def initialize(id, hsh, page)
super
@id = "sex3"
@check_answer_label = "Person 1’s gender identity"
@header = "Which of these best describes Person 1’s gender identity?"
@type = "radio"
@page = page
@answer_options = ANSWER_OPTIONS
@check_answers_card_number = 3
end
ANSWER_OPTIONS = {
"F" => { "value" => "Female" },
"M" => { "value" => "Male" },
"X" => { "value" => "Non-binary" },
"R" => { "value" => "Buyer prefers not to say" },
}.freeze
end

46
spec/models/form/sales/questions/person1_gender_identity_joint_purchase_spec.rb

@ -1,46 +0,0 @@
require "rails_helper"
RSpec.describe Form::Sales::Questions::Person1GenderIdentityJointPurchase, type: :model do
subject(:question) { described_class.new(question_id, question_definition, page) }
let(:question_id) { nil }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page) }
it "has correct page" do
expect(question.page).to eq(page)
end
it "has the correct id" do
expect(question.id).to eq("sex3")
end
it "has the correct header" do
expect(question.header).to eq("Which of these best describes Person 1’s gender identity?")
end
it "has the correct check_answer_label" do
expect(question.check_answer_label).to eq("Person 1’s gender identity")
end
it "has the correct type" do
expect(question.type).to eq("radio")
end
it "is not marked as derived" do
expect(question.derived?).to be false
end
it "has expected check answers card number" do
expect(question.check_answers_card_number).to eq(3)
end
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"F" => { "value" => "Female" },
"M" => { "value" => "Male" },
"X" => { "value" => "Non-binary" },
"R" => { "value" => "Buyer prefers not to say" },
})
end
end

2
spec/models/form/sales/questions/person1_gender_identity_spec.rb

@ -3,7 +3,7 @@ require "rails_helper"
RSpec.describe Form::Sales::Questions::Person1GenderIdentity, type: :model do RSpec.describe Form::Sales::Questions::Person1GenderIdentity, type: :model do
subject(:question) { described_class.new(question_id, question_definition, page) } subject(:question) { described_class.new(question_id, question_definition, page) }
let(:question_id) { nil } let(:question_id) { "sex2" }
let(:question_definition) { nil } let(:question_definition) { nil }
let(:page) { instance_double(Form::Page) } let(:page) { instance_double(Form::Page) }

Loading…
Cancel
Save