From 490b8b778fa827e0be11c8d4fc7484cfdcad6040 Mon Sep 17 00:00:00 2001 From: natdeanlewissoftwire Date: Tue, 5 Dec 2023 14:35:21 +0000 Subject: [PATCH] feat: add activating soon to scheme filtering --- app/helpers/filters_helper.rb | 1 + app/models/scheme.rb | 4 ++++ spec/models/scheme_spec.rb | 1 + 3 files changed, 6 insertions(+) diff --git a/app/helpers/filters_helper.rb b/app/helpers/filters_helper.rb index 8c5f45db5..5108ddd1a 100644 --- a/app/helpers/filters_helper.rb +++ b/app/helpers/filters_helper.rb @@ -52,6 +52,7 @@ module FiltersHelper "incomplete" => "Incomplete", "active" => "Active", "deactivating_soon" => "Deactivating soon", + "activating_soon" => "Activating soon", "reactivating_soon" => "Reactivating soon", "deactivated" => "Deactivated", }.freeze diff --git a/app/models/scheme.rb b/app/models/scheme.rb index a8a17ebdb..bb7ba25a6 100644 --- a/app/models/scheme.rb +++ b/app/models/scheme.rb @@ -65,6 +65,10 @@ class Scheme < ApplicationRecord .where("scheme_deactivation_periods.reactivation_date > ?", Time.zone.now) } + scope :activating_soon, lambda { + where("startdate > ?", Time.zone.now) + } + scope :active_status, lambda { where.not(id: joins(:scheme_deactivation_periods).reactivating_soon.pluck(:id)) .where.not(id: joins(:scheme_deactivation_periods).deactivated.pluck(:id)) diff --git a/spec/models/scheme_spec.rb b/spec/models/scheme_spec.rb index af45a182b..ba1127908 100644 --- a/spec/models/scheme_spec.rb +++ b/spec/models/scheme_spec.rb @@ -123,6 +123,7 @@ RSpec.describe Scheme, type: :model do let(:deactivated_scheme_2) { FactoryBot.create(:scheme) } let(:reactivating_soon_scheme) { FactoryBot.create(:scheme) } let(:reactivating_soon_scheme_2) { FactoryBot.create(:scheme) } + let(:activating_soon_scheme) { FactoryBot.create(:scheme, startdate: Time.zone.today + 1.week)} before do scheme.destroy!