Browse Source

Update tests

pull/2363/head
Kat 2 years ago
parent
commit
8eb9498dd1
  1. 33
      spec/features/home_page_spec.rb
  2. 17
      spec/requests/lettings_logs_controller_spec.rb

33
spec/features/home_page_spec.rb

@ -126,6 +126,8 @@ RSpec.describe "Home Page Features" do
let(:user) { FactoryBot.create(:user, name: "Provider") } let(:user) { FactoryBot.create(:user, name: "Provider") }
before do 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, 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, 2, :in_progress, owning_organisation: user.organisation)
create_list(:lettings_log, 4, :completed, owning_organisation: user.organisation, created_by: user) 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) visit(root_path)
end end
after do
Timecop.return
Singleton.__init__(FormHandler)
end
it "displays the correct welcome text" do it "displays the correct welcome text" do
expect(page).to have_current_path("/") expect(page).to have_current_path("/")
expect(page).to have_content("Welcome back, Provider") 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 context "and it is not a crossover" do
before 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 = 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) closed_period_in_progress_log.save!(validate: false)
visit(root_path) visit(root_path)
end end
after do
Timecop.return
Singleton.__init__(FormHandler)
end
it "displays correct data boxes, counts and links" do it "displays correct data boxes, counts and links" do
data_boxes = page.find_all(class: "app-data-box-one-half") data_boxes = page.find_all(class: "app-data-box-one-half")
expect(data_boxes.count).to eq(2) expect(data_boxes.count).to eq(2)
@ -183,11 +183,6 @@ RSpec.describe "Home Page Features" do
visit(root_path) visit(root_path)
end end
after do
Timecop.return
Singleton.__init__(FormHandler)
end
it "displays correct data boxes, counts and links" do it "displays correct data boxes, counts and links" do
data_boxes = page.find_all(class: "app-data-box-one-half") 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 context "when the user is a data coordinator" do
before 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, 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, 2, :in_progress, owning_organisation: user.organisation, created_by: user)
create_list(:lettings_log, 4, :completed, owning_organisation: user.organisation) create_list(:lettings_log, 4, :completed, owning_organisation: user.organisation)
@ -228,6 +225,11 @@ RSpec.describe "Home Page Features" do
visit(root_path) visit(root_path)
end end
after do
Timecop.return
Singleton.__init__(FormHandler)
end
let(:user) { FactoryBot.create(:user, :data_coordinator, name: "Coordinator") } let(:user) { FactoryBot.create(:user, :data_coordinator, name: "Coordinator") }
it "displays the correct welcome text" do it "displays the correct welcome text" do
@ -280,6 +282,8 @@ RSpec.describe "Home Page Features" do
let(:otp) { "999111" } let(:otp) { "999111" }
before do before do
Timecop.freeze(Time.zone.local(2024, 3, 1))
Singleton.__init__(FormHandler)
create_list(:lettings_log, 2, :in_progress) create_list(:lettings_log, 2, :in_progress)
create_list(:lettings_log, 1, :completed) create_list(:lettings_log, 1, :completed)
create_list(:lettings_log, 2, :not_started) create_list(:lettings_log, 2, :not_started)
@ -303,6 +307,11 @@ RSpec.describe "Home Page Features" do
visit(root_path) visit(root_path)
end end
after do
Timecop.return
Singleton.__init__(FormHandler)
end
it "displays the correct welcome text" do it "displays the correct welcome text" do
expect(page).to have_current_path("/") expect(page).to have_current_path("/")
expect(page).to have_content("Welcome back, Support") expect(page).to have_content("Welcome back, Support")

17
spec/requests/lettings_logs_controller_spec.rb

@ -1622,18 +1622,24 @@ RSpec.describe LettingsLogsController, type: :request do
let(:headers) { { "Accept" => "text/html" } } let(:headers) { { "Accept" => "text/html" } }
let(:page) { Capybara::Node::Simple.new(response.body) } let(:page) { Capybara::Node::Simple.new(response.body) }
let(:user) { create(:user, :support) } let(:user) { create(:user, :support) }
let!(:lettings_log) do
create(:lettings_log, :completed)
end
let(:id) { lettings_log.id } let(:id) { lettings_log.id }
let(:delete_request) { delete "/lettings-logs/#{id}", headers: } let(:delete_request) { delete "/lettings-logs/#{id}", headers: }
before do before do
Timecop.freeze(2024, 3, 1)
Singleton.__init__(FormHandler)
allow(user).to receive(:need_two_factor_authentication?).and_return(false) allow(user).to receive(:need_two_factor_authentication?).and_return(false)
sign_in user sign_in user
end end
after do
Timecop.return
Singleton.__init__(FormHandler)
end
context "when delete permitted" do context "when delete permitted" do
let!(:lettings_log) { create(:lettings_log, :completed) }
it "redirects to lettings logs and shows message" do it "redirects to lettings logs and shows message" do
delete_request delete_request
expect(response).to redirect_to(lettings_logs_path) 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 context "when log does not exist" do
let(:id) { -1 } let(:id) { -1 }
before do
create(:lettings_log, :completed)
end
it "returns 404" do it "returns 404" do
delete_request delete_request
expect(response).to have_http_status(:not_found) expect(response).to have_http_status(:not_found)
@ -1657,6 +1667,7 @@ RSpec.describe LettingsLogsController, type: :request do
context "when user not authorised" do context "when user not authorised" do
let(:user) { create(:user) } let(:user) { create(:user) }
let(:lettings_log) { create(:lettings_log, :completed) }
it "returns 401" do it "returns 401" do
delete_request delete_request

Loading…
Cancel
Save