Submit social housing lettings and sales data (CORE)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1.1 KiB

require "rails_helper"
RSpec.describe FormHandler do
let(:test_form_name) { "2021_2022" }
describe "Get all forms" do
it "is able to load all the forms" do
form_handler = described_class.instance
all_forms = form_handler.forms
expect(all_forms.count).to be >= 1
expect(all_forms[test_form_name]).to be_a(Form)
end
end
describe "Get specific form" do
it "is able to load a specific form" do
form_handler = described_class.instance
form = form_handler.get_form(test_form_name)
expect(form).to be_a(Form)
expect(form.pages.count).to eq(38)
end
end
describe "Current form" do
it "returns the latest form by date" do
form_handler = described_class.instance
form = form_handler.current_form
expect(form).to be_a(Form)
expect(form.start_date.year).to eq(2022)
end
end
it "loads the form once at boot time" do
form_handler = described_class.instance
expect(Form).not_to receive(:new).with(:any, test_form_name, :any)
expect(form_handler.get_form(test_form_name)).to be_a(Form)
end
end