diff --git a/spec/features/home_page_spec.rb b/spec/features/home_page_spec.rb index 1477a10df..a90f060dc 100644 --- a/spec/features/home_page_spec.rb +++ b/spec/features/home_page_spec.rb @@ -126,6 +126,8 @@ RSpec.describe "Home Page Features" do let(:user) { FactoryBot.create(:user, name: "Provider") } before do + Timecop.freeze(Time.zone.local(2024, 1, 1)) + Singleton.__init__(FormHandler) create_list(:lettings_log, 6, :in_progress, owning_organisation: user.organisation, created_by: user) create_list(:lettings_log, 2, :in_progress, owning_organisation: user.organisation) create_list(:lettings_log, 4, :completed, owning_organisation: user.organisation, created_by: user) @@ -135,6 +137,11 @@ RSpec.describe "Home Page Features" do visit(root_path) end + after do + Timecop.return + Singleton.__init__(FormHandler) + end + it "displays the correct welcome text" do expect(page).to have_current_path("/") expect(page).to have_content("Welcome back, Provider") @@ -151,18 +158,11 @@ RSpec.describe "Home Page Features" do context "and it is not a crossover" do before do - Timecop.freeze(Time.zone.local(2024, 1, 1)) - Singleton.__init__(FormHandler) closed_period_in_progress_log = build(:lettings_log, :in_progress, owning_organisation: user.organisation, created_by: user, startdate: Time.zone.local(2022, 4, 1)) closed_period_in_progress_log.save!(validate: false) visit(root_path) end - after do - Timecop.return - Singleton.__init__(FormHandler) - end - it "displays correct data boxes, counts and links" do data_boxes = page.find_all(class: "app-data-box-one-half") expect(data_boxes.count).to eq(2) @@ -183,11 +183,6 @@ RSpec.describe "Home Page Features" do visit(root_path) end - after do - Timecop.return - Singleton.__init__(FormHandler) - end - it "displays correct data boxes, counts and links" do data_boxes = page.find_all(class: "app-data-box-one-half") @@ -218,6 +213,8 @@ RSpec.describe "Home Page Features" do context "when the user is a data coordinator" do before do + Timecop.freeze(Time.zone.local(2024, 3, 1)) + Singleton.__init__(FormHandler) create_list(:lettings_log, 6, :in_progress, owning_organisation: user.organisation) create_list(:lettings_log, 2, :in_progress, owning_organisation: user.organisation, created_by: user) create_list(:lettings_log, 4, :completed, owning_organisation: user.organisation) @@ -228,6 +225,11 @@ RSpec.describe "Home Page Features" do visit(root_path) end + after do + Timecop.return + Singleton.__init__(FormHandler) + end + let(:user) { FactoryBot.create(:user, :data_coordinator, name: "Coordinator") } it "displays the correct welcome text" do @@ -280,6 +282,8 @@ RSpec.describe "Home Page Features" do let(:otp) { "999111" } before do + Timecop.freeze(Time.zone.local(2024, 3, 1)) + Singleton.__init__(FormHandler) create_list(:lettings_log, 2, :in_progress) create_list(:lettings_log, 1, :completed) create_list(:lettings_log, 2, :not_started) @@ -303,6 +307,11 @@ RSpec.describe "Home Page Features" do visit(root_path) end + after do + Timecop.return + Singleton.__init__(FormHandler) + end + it "displays the correct welcome text" do expect(page).to have_current_path("/") expect(page).to have_content("Welcome back, Support") diff --git a/spec/requests/lettings_logs_controller_spec.rb b/spec/requests/lettings_logs_controller_spec.rb index 26a830eb7..a5cd566b1 100644 --- a/spec/requests/lettings_logs_controller_spec.rb +++ b/spec/requests/lettings_logs_controller_spec.rb @@ -1622,18 +1622,24 @@ RSpec.describe LettingsLogsController, type: :request do let(:headers) { { "Accept" => "text/html" } } let(:page) { Capybara::Node::Simple.new(response.body) } let(:user) { create(:user, :support) } - let!(:lettings_log) do - create(:lettings_log, :completed) - end let(:id) { lettings_log.id } let(:delete_request) { delete "/lettings-logs/#{id}", headers: } before do + Timecop.freeze(2024, 3, 1) + Singleton.__init__(FormHandler) allow(user).to receive(:need_two_factor_authentication?).and_return(false) sign_in user end + after do + Timecop.return + Singleton.__init__(FormHandler) + end + context "when delete permitted" do + let!(:lettings_log) { create(:lettings_log, :completed) } + it "redirects to lettings logs and shows message" do delete_request expect(response).to redirect_to(lettings_logs_path) @@ -1649,6 +1655,10 @@ RSpec.describe LettingsLogsController, type: :request do context "when log does not exist" do let(:id) { -1 } + before do + create(:lettings_log, :completed) + end + it "returns 404" do delete_request expect(response).to have_http_status(:not_found) @@ -1657,6 +1667,7 @@ RSpec.describe LettingsLogsController, type: :request do context "when user not authorised" do let(:user) { create(:user) } + let(:lettings_log) { create(:lettings_log, :completed) } it "returns 401" do delete_request