require "rails_helper"
RSpec.describe Form::Sales::Questions::StaircaseOwned, type: :model do
subject(:question) { described_class.new(question_id, question_definition, page, joint_purchase:) }
let(:question_id) { nil }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page) }
let(:joint_purchase) { false }
it "has correct page" do
expect(question.page).to eq(page)
end
it "has the correct id" do
expect(question.id).to eq("stairowned")
context "when a joint purchase" do
let(:joint_purchase) { true }
it "has the correct header" do
expect(question.header).to eq("What percentage of the property do the buyers now own in total?")
it "has the correct check_answer_label" do
expect(question.check_answer_label).to eq("Percentage the buyers now own in total")
context "when not a joint purchase" do
expect(question.header).to eq("What percentage of the property does the buyer now own in total?")
expect(question.check_answer_label).to eq("Percentage the buyer now owns in total")
it "has the correct type" do
expect(question.type).to eq("numeric")
it "is not marked as derived" do
expect(question.derived?).to be false
it "has the correct hint" do
expect(question.hint_text).to be_nil
it "has the correct width" do
expect(question.width).to eq(5)
it "has the correct inferred check answers value" do
expect(question.inferred_check_answers_value).to eq(nil)
it "has correct suffix" do
expect(question.suffix).to eq("%")
it "has correct min" do
expect(question.min).to eq(0)
it "has correct max" do
expect(question.max).to eq(100)