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