diff --git a/config/initializers/feature_toggle.rb b/config/initializers/feature_toggle.rb index cf53a5010..452e0853b 100644 --- a/config/initializers/feature_toggle.rb +++ b/config/initializers/feature_toggle.rb @@ -6,8 +6,6 @@ class FeatureToggle end def self.startdate_two_week_validation_enabled? - return true if Rails.env.production? - - false + true end end diff --git a/spec/models/case_log_spec.rb b/spec/models/case_log_spec.rb index eb7d82163..8a055caa8 100644 --- a/spec/models/case_log_spec.rb +++ b/spec/models/case_log_spec.rb @@ -1981,6 +1981,14 @@ RSpec.describe CaseLog do end context "when filtering by year" do + before do + Timecop.freeze(Time.utc(2021, 5, 3)) + end + + after do + Timecop.unfreeze + end + it "allows filtering on a single year" do expect(described_class.filter_by_years(%w[2021]).count).to eq(2) end @@ -1994,8 +2002,10 @@ RSpec.describe CaseLog do end it "filters based on date boundaries correctly" do - case_log_1.update!(startdate: Time.zone.local(2022, 4, 1)) - case_log_2.update!(startdate: Time.zone.local(2022, 3, 31)) + case_log_1.startdate = Time.zone.local(2022, 4, 1) + case_log_1.save!(validate: false) + case_log_2.startdate = Time.zone.local(2022, 3, 31) + case_log_2.save!(validate: false) expect(described_class.filter_by_years(%w[2021]).count).to eq(1) expect(described_class.filter_by_years(%w[2022]).count).to eq(2) diff --git a/spec/models/validations/date_validations_spec.rb b/spec/models/validations/date_validations_spec.rb index 642f605d6..ca09c28c8 100644 --- a/spec/models/validations/date_validations_spec.rb +++ b/spec/models/validations/date_validations_spec.rb @@ -55,23 +55,17 @@ RSpec.describe Validations::DateValidations do expect(record.errors["startdate"]).to be_empty end - context "when in the production environment" do - before do - allow(Rails.env).to receive(:production?).and_return(true) - end - - it "validates that the tenancy start date is not later than 14 days from the current date" do - record.startdate = Time.zone.today + 15.days - date_validator.validate_startdate(record) - expect(record.errors["startdate"]) - .to include(match I18n.t("validations.setup.startdate.later_than_14_days_after")) - end + it "validates that the tenancy start date is not later than 14 days from the current date" do + record.startdate = Time.zone.today + 15.days + date_validator.validate_startdate(record) + expect(record.errors["startdate"]) + .to include(match I18n.t("validations.setup.startdate.later_than_14_days_after")) + end - it "produces no error when tenancy start date is not later than 14 days from the current date" do - record.startdate = Time.zone.today + 7.days - date_validator.validate_startdate(record) - expect(record.errors["startdate"]).to be_empty - end + it "produces no error when tenancy start date is not later than 14 days from the current date" do + record.startdate = Time.zone.today + 7.days + date_validator.validate_startdate(record) + expect(record.errors["startdate"]).to be_empty end end diff --git a/spec/requests/case_logs_controller_spec.rb b/spec/requests/case_logs_controller_spec.rb index 4caeeeca9..d0fb00523 100644 --- a/spec/requests/case_logs_controller_spec.rb +++ b/spec/requests/case_logs_controller_spec.rb @@ -249,12 +249,14 @@ RSpec.describe CaseLogsController, type: :request do managing_organisation: organisation) end let!(:case_log_2022) do - FactoryBot.create(:case_log, :completed, - owning_organisation: organisation, - mrcdate: Time.zone.local(2022, 2, 1), - startdate: Time.zone.local(2022, 12, 1), - tenancy: 6, - managing_organisation: organisation) + case_log = FactoryBot.build(:case_log, :completed, + owning_organisation: organisation, + mrcdate: Time.zone.local(2022, 2, 1), + startdate: Time.zone.local(2022, 12, 1), + tenancy: 6, + managing_organisation: organisation) + case_log.save!(validate: false) + case_log end it "shows case logs for multiple selected years" do @@ -279,23 +281,27 @@ RSpec.describe CaseLogsController, type: :request do created_by: user) end let!(:case_log_2022) do - FactoryBot.create(:case_log, :completed, - owning_organisation: organisation, - mrcdate: Time.zone.local(2022, 2, 1), - startdate: Time.zone.local(2022, 12, 1), - tenancy: 6, - managing_organisation: organisation, - created_by: user) + case_log = FactoryBot.build(:case_log, :completed, + owning_organisation: organisation, + mrcdate: Time.zone.local(2022, 2, 1), + startdate: Time.zone.local(2022, 12, 1), + tenancy: 6, + managing_organisation: organisation + created_by: user) + case_log.save!(validate: false) + case_log end let!(:case_log_2022_in_progress) do - FactoryBot.create(:case_log, :in_progress, - owning_organisation: organisation, - mrcdate: Time.zone.local(2022, 2, 1), - startdate: Time.zone.local(2022, 12, 1), - tenancy: 6, - managing_organisation: organisation, - tenancycode: nil, - created_by: user) + case_log = FactoryBot.build(:case_log, :in_progress, + owning_organisation: organisation, + mrcdate: Time.zone.local(2022, 2, 1), + startdate: Time.zone.local(2022, 12, 1), + tenancy: 6, + managing_organisation: organisation, + tenancycode: nil + created_by: user) + case_log.save!(validate: false) + case_log end it "shows case logs for multiple selected statuses and years" do diff --git a/spec/requests/form_controller_spec.rb b/spec/requests/form_controller_spec.rb index 0d3e55521..9e220486f 100644 --- a/spec/requests/form_controller_spec.rb +++ b/spec/requests/form_controller_spec.rb @@ -37,14 +37,6 @@ RSpec.describe FormController, type: :request do managing_organisation: organisation, ) end - let(:case_log_2022) do - FactoryBot.create( - :case_log, - startdate: Time.zone.local(2022, 12, 1), - owning_organisation: organisation, - managing_organisation: organisation, - ) - end let(:headers) { { "Accept" => "text/html" } } context "when a user is not signed in" do @@ -112,10 +104,25 @@ RSpec.describe FormController, type: :request do end context "when no other sections are enabled" do + let(:case_log_2022) do + FactoryBot.create( + :case_log, + startdate: Time.zone.local(2022, 12, 1), + owning_organisation: organisation, + managing_organisation: organisation, + ) + end + let(:headers) { { "Accept" => "text/html" } } + before do + Timecop.freeze(Time.zone.local(2022, 12, 1)) get "/logs/#{case_log_2022.id}/setup/check-answers", headers: headers, params: {} end + after do + Timecop.unfreeze + end + it "does not show Save and go to next incomplete section button" do expect(page).not_to have_content("Save and go to next incomplete section") end