Skip to content

Commit 801afe6

Browse files
committed
Add #three_day_residency_requirement_applies?
Use it instead of the `:three_day_residency_requirement_applies` precalculate block. Part of refactoring marriage-abroad. See doc/refactoring.md for more.
1 parent f5964bb commit 801afe6

File tree

4 files changed

+21
-4
lines changed

4 files changed

+21
-4
lines changed

lib/smart_answer/calculators/marriage_abroad_calculator.rb

+4
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,10 @@ def outcome_path_when_resident_in_ceremony_country
240240
outcome_path_when_resident_in('ceremony_country')
241241
end
242242

243+
def three_day_residency_requirement_applies?
244+
MarriageAbroadDataQuery::THREE_DAY_RESIDENCY_REQUIREMENT_COUNTRIES.include?(ceremony_country)
245+
end
246+
243247
private
244248

245249
def outcome_path_when_resident_in(uk_or_ceremony_country)

lib/smart_answer_flows/marriage-abroad.rb

-3
Original file line numberDiff line numberDiff line change
@@ -254,9 +254,6 @@ def define
254254
outcome :outcome_consular_cni_os_residing_in_third_country
255255

256256
outcome :outcome_os_consular_cni do
257-
precalculate :three_day_residency_requirement_applies do
258-
Calculators::MarriageAbroadDataQuery::THREE_DAY_RESIDENCY_REQUIREMENT_COUNTRIES
259-
end
260257
precalculate :three_day_residency_handled_by_exception do
261258
Calculators::MarriageAbroadDataQuery::THREE_DAY_RESIDENCY_HANDLED_BY_EXCEPTION
262259
end

lib/smart_answer_flows/marriage-abroad/outcomes/outcome_os_consular_cni.govspeak.erb

+1-1
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@
136136

137137
<% end %>
138138

139-
<% if three_day_residency_handled_by_exception.exclude?(calculator.ceremony_country) && three_day_residency_requirement_applies.include?(calculator.ceremony_country) %>
139+
<% if three_day_residency_handled_by_exception.exclude?(calculator.ceremony_country) && calculator.three_day_residency_requirement_applies? %>
140140
<%= render partial: "three_day_residency_requirement.govspeak.erb",
141141
locals: {
142142
country_name_lowercase_prefix: calculator.country_name_lowercase_prefix

test/unit/calculators/marriage_abroad_calculator_test.rb

+16
Original file line numberDiff line numberDiff line change
@@ -760,6 +760,22 @@ class MarriageAbroadCalculatorTest < ActiveSupport::TestCase
760760
assert_equal expected_path, calculator.outcome_path_when_resident_in_ceremony_country
761761
end
762762
end
763+
764+
context '#three_day_residency_requirement_applies?' do
765+
should 'return true if ceremony country requires 3 day residency' do
766+
calculator = MarriageAbroadCalculator.new
767+
calculator.ceremony_country = 'albania'
768+
769+
assert calculator.three_day_residency_requirement_applies?
770+
end
771+
772+
should 'return false if ceremony country does not require 3 days residency' do
773+
calculator = MarriageAbroadCalculator.new
774+
calculator.ceremony_country = 'country-not-requiring-three-day-residency'
775+
776+
refute calculator.three_day_residency_requirement_applies?
777+
end
778+
end
763779
end
764780
end
765781
end

0 commit comments

Comments
 (0)