diff --git a/app/models/scheme.rb b/app/models/scheme.rb index d4a35e776..3a718c25a 100644 --- a/app/models/scheme.rb +++ b/app/models/scheme.rb @@ -235,7 +235,7 @@ class Scheme < ApplicationRecord end def status_at(date) - return :incomplete unless confirmed && has_active_locations? + return :incomplete unless confirmed && has_completed_locations? return :deactivated if open_deactivation&.deactivation_date.present? && date >= open_deactivation.deactivation_date return :deactivating_soon if open_deactivation&.deactivation_date.present? && date < open_deactivation.deactivation_date return :reactivating_soon if recent_deactivation&.reactivation_date.present? && date < recent_deactivation.reactivation_date @@ -255,7 +255,13 @@ class Scheme < ApplicationRecord status == :deactivated end - def has_active_locations? - locations.count { |location| %i[active deactivating_soon].include?(location.status) }.positive? + def has_completed_locations? + completed_locations_count.positive? + end + +private + + def completed_locations_count + locations.count { |location| location.status != :incomplete } end end