Skip to content

Commit 2e89bea

Browse files
committed
Taiwan specific ETA outcomes
- All Taiwan ETA related outcomes, including work, now utilise a partial, containing information relating to personal ID number presence on the bio data page of their passport. - This information is only visible to Taiwan nationals.
1 parent 2523759 commit 2e89bea

10 files changed

+122
-32
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
What you need to apply for depends on:
2+
3+
+ whether or not your passport has a personal ID number on the bio data page
4+
+ what you're coming to the UK to do
5+
6+
## If your passport does not have a personal ID number on the bio data page
7+
8+
You will need a [Standard Visitor visa](/standard-visitor) if you’re coming to the UK for certain business or academic activities, such as:
9+
10+
+ going to meetings or conferences
11+
+ doing academic research
12+
+ doing certain paid engagements or events (a ‘permitted paid engagement’) for UK-based organisations
13+
14+
For all other activities, you’ll need a [work visa](/browse/visas-immigration/work-visas).
15+
16+
You will not need an ETA.
17+
18+
##If your passport has a personal ID number on the bio data page

app/flows/check_uk_visa_flow/outcomes/outcome_medical_electronic_travel_authorisation.erb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
<% end %>
44

55
<% govspeak_for :body do %>
6+
<% if calculator.passport_country_is_taiwan? %>
7+
<%= render partial: "electronic_travel_authorisation_taiwan", locals: {calculator: calculator} %>
8+
<% end %>
69
You must apply for either:
710

811
- an [electronic travel authorisation (ETA)](/guidance/apply-for-an-electronic-travel-authorisation-eta)

app/flows/check_uk_visa_flow/outcomes/outcome_school_electronic_travel_authorisation.erb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
<% end %>
44

55
<% govspeak_for :body do %>
6+
<% if calculator.passport_country_is_taiwan? %>
7+
<%= render partial: "electronic_travel_authorisation_taiwan", locals: {calculator: calculator} %>
8+
<% end %>
69
What you need depends on how long you're staying.
710

811
##If you're staying up to 6 months

app/flows/check_uk_visa_flow/outcomes/outcome_study_electronic_travel_authorisation.erb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
<% end %>
44

55
<% govspeak_for :body do %>
6+
<% if calculator.passport_country_is_taiwan? %>
7+
<%= render partial: "electronic_travel_authorisation_taiwan", locals: {calculator: calculator} %>
8+
<% end %>
69
You must apply for either:
710

811
- an [electronic travel authorisation (ETA)](/guidance/apply-for-an-electronic-travel-authorisation-eta)

app/flows/check_uk_visa_flow/outcomes/outcome_tourism_electronic_travel_authorisation.erb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
<% end %>
44

55
<% govspeak_for :body do %>
6+
<% if calculator.passport_country_is_taiwan? %>
7+
<%= render partial: "electronic_travel_authorisation_taiwan", locals: {calculator: calculator} %>
8+
<% end %>
69
You must apply for either:
710

811
- an [electronic travel authorisation (ETA)](/guidance/apply-for-an-electronic-travel-authorisation-eta)

app/flows/check_uk_visa_flow/outcomes/outcome_transit_to_the_republic_of_ireland_electronic_travel_authorisation.erb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
<% end %>
44

55
<% govspeak_for :body do %>
6+
<% if calculator.passport_country_is_taiwan? %>
7+
<%= render partial: "electronic_travel_authorisation_taiwan", locals: {calculator: calculator} %>
8+
<% end %>
69
[Apply for an ETA](/guidance/apply-for-an-electronic-travel-authorisation-eta).
710

811
You do not need an ETA if you will not pass through UK border control. You should bring evidence of your onward journey, such as a ticket to your destination.

app/flows/check_uk_visa_flow/outcomes/outcome_work_electronic_travel_authorisation.erb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
<% end %>
44

55
<% govspeak_for :body do %>
6+
<% if calculator.passport_country_is_taiwan? %>
7+
<%= render partial: "electronic_travel_authorisation_taiwan", locals: {calculator: calculator} %>
8+
<% end %>
69
What you need to apply for depends on your circumstances.
710

811
You need an ETA for some business and academic activities, but you must get a visa if you plan to work in the UK.

lib/smart_answer/calculators/uk_visa_calculator.rb

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -643,6 +643,7 @@ def eligible_for_india_young_professionals_scheme?
643643
st-vincent-and-the-grenadines
644644
sweden
645645
switzerland
646+
taiwan
646647
tonga
647648
tuvalu
648649
united-arab-emirates
@@ -720,9 +721,7 @@ def eligible_for_india_young_professionals_scheme?
720721
"zimbabwe",
721722
].flatten.freeze
722723

723-
COUNTRY_GROUP_ETA_ROLLOUT_GROUP_1_REST_OF_THE_WORLD = %w[
724-
taiwan
725-
].freeze
724+
COUNTRY_GROUP_ETA_ROLLOUT_GROUP_1_REST_OF_THE_WORLD = %w[].freeze
726725

727726
COUNTRY_GROUP_ETA_ROLLOUT_GROUP_2_EU_EEA = %w[].freeze
728727
end

test/flows/check_uk_visa_flow_test.rb

Lines changed: 75 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,11 @@ class CheckUkVisaFlowTest < ActiveSupport::TestCase
1414
@british_overseas_territory_country = "anguilla"
1515
@non_visa_national_country = "pitcairn-island"
1616
@eea_country = "austria"
17-
@eta_rollout_group_1_rest_of_the_world_country = "taiwan"
1817
@travel_document_country = "hong-kong"
1918
@b1_b2_country = "syria"
2019
@youth_mobility_scheme_country = "canada"
2120

2221
@non_visa_national_eta_text = "You currently do not need an electronic travel authorisation (ETA)"
23-
@eta_rollout_group_1_rest_of_the_world_text = "If you’re travelling on or after 8 January 2025, you’ll need to apply for an electronic travel authorisation (ETA)."
2422
@eea_eta_text = "You currently do not need an electronic travel authorisation (ETA)"
2523

2624
# stub only the countries used in this test for less of a performance impact
@@ -45,8 +43,7 @@ class CheckUkVisaFlowTest < ActiveSupport::TestCase
4543
@eea_country,
4644
@travel_document_country,
4745
@b1_b2_country,
48-
@youth_mobility_scheme_country,
49-
@eta_rollout_group_1_rest_of_the_world_country].uniq)
46+
@youth_mobility_scheme_country].uniq)
5047
end
5148

5249
should "render a start page" do
@@ -410,9 +407,9 @@ class CheckUkVisaFlowTest < ActiveSupport::TestCase
410407
assert_next_node :outcome_study_electronic_travel_authorisation, for_response: "six_months_or_less"
411408
end
412409

413-
should "have a next node of outcome_study_waiver_taiwan for a study visit with a Taiwan passport" do
410+
should "have a next node of outcome_study_electronic_travel_authorisation for a study visit with a Taiwan passport" do
414411
add_responses what_passport_do_you_have?: "taiwan", purpose_of_visit?: "study"
415-
assert_next_node :outcome_study_waiver_taiwan, for_response: "six_months_or_less"
412+
assert_next_node :outcome_study_electronic_travel_authorisation, for_response: "six_months_or_less"
416413
end
417414

418415
should "have a next node of outcome_study_m for a study visit with a direct airside transit visa" do
@@ -440,7 +437,7 @@ class CheckUkVisaFlowTest < ActiveSupport::TestCase
440437
assert_next_node :outcome_study_no_visa_needed, for_response: "six_months_or_less"
441438
end
442439

443-
should "have a next node of outcome_study_no_visa_needed for a study visit with an EEA passport" do
440+
should "have a next node of outcome_study_electronic_travel_authorisation for a study visit with an EEA passport" do
444441
add_responses what_passport_do_you_have?: @eea_country,
445442
purpose_of_visit?: "study"
446443
assert_next_node :outcome_study_electronic_travel_authorisation, for_response: "six_months_or_less"
@@ -458,9 +455,9 @@ class CheckUkVisaFlowTest < ActiveSupport::TestCase
458455
assert_next_node :outcome_work_n, for_response: "six_months_or_less"
459456
end
460457

461-
should "have a next node of outcome_work_n for a work visit with a Taiwan passport" do
458+
should "have a next node of outcome_work_electronic_travel_authorisation for a work visit with a Taiwan passport" do
462459
add_responses what_passport_do_you_have?: "taiwan", purpose_of_visit?: "work"
463-
assert_next_node :outcome_work_n, for_response: "six_months_or_less"
460+
assert_next_node :outcome_work_electronic_travel_authorisation, for_response: "six_months_or_less"
464461
end
465462

466463
should "have a next node of outcome_work_n for a work visit with a non-visa national passport" do
@@ -469,7 +466,7 @@ class CheckUkVisaFlowTest < ActiveSupport::TestCase
469466
assert_next_node :outcome_work_n, for_response: "six_months_or_less"
470467
end
471468

472-
should "have a next node of outcome_work_n for a work visit with an EEA passport" do
469+
should "have a next node of outcome_work_electronic_travel_authorisation for a work visit with an EEA passport" do
473470
add_responses what_passport_do_you_have?: @eea_country,
474471
purpose_of_visit?: "work"
475472
assert_next_node :outcome_work_electronic_travel_authorisation, for_response: "six_months_or_less"
@@ -660,6 +657,74 @@ class CheckUkVisaFlowTest < ActiveSupport::TestCase
660657
travelling_to_cta?: "republic_of_ireland"
661658
assert_rendered_outcome text: "You may want to apply for a transit visa"
662659
end
660+
661+
should "render specific guidance for a Taiwan passport" do
662+
add_responses what_passport_do_you_have?: "taiwan",
663+
travelling_to_cta?: "republic_of_ireland"
664+
assert_rendered_outcome text: "personal ID number on the bio data page"
665+
end
666+
end
667+
668+
context "medical ETA for Taiwan" do
669+
setup do
670+
testing_node :outcome_medical_electronic_travel_authorisation
671+
add_responses what_passport_do_you_have?: "taiwan",
672+
purpose_of_visit?: "medical"
673+
end
674+
675+
should "render specific guidance for a Taiwan passport" do
676+
assert_rendered_outcome text: "personal ID number on the bio data page"
677+
end
678+
end
679+
680+
context "tourism ETA for Taiwan" do
681+
setup do
682+
testing_node :outcome_tourism_electronic_travel_authorisation
683+
add_responses what_passport_do_you_have?: "taiwan",
684+
purpose_of_visit?: "tourism"
685+
end
686+
687+
should "render specific guidance for a Taiwan passport" do
688+
assert_rendered_outcome text: "personal ID number on the bio data page"
689+
end
690+
end
691+
692+
context "work ETA for Taiwan" do
693+
setup do
694+
testing_node :outcome_work_electronic_travel_authorisation
695+
add_responses what_passport_do_you_have?: "taiwan",
696+
purpose_of_visit?: "work",
697+
staying_for_how_long?: "six_months_or_less"
698+
end
699+
700+
should "render specific guidance for a Taiwan passport" do
701+
assert_rendered_outcome text: "personal ID number on the bio data page"
702+
end
703+
end
704+
705+
context "school ETA for Taiwan" do
706+
setup do
707+
testing_node :outcome_school_electronic_travel_authorisation
708+
add_responses what_passport_do_you_have?: "taiwan",
709+
purpose_of_visit?: "school"
710+
end
711+
712+
should "render specific guidance for a Taiwan passport" do
713+
assert_rendered_outcome text: "personal ID number on the bio data page"
714+
end
715+
end
716+
717+
context "study ETA for Taiwan" do
718+
setup do
719+
testing_node :outcome_study_electronic_travel_authorisation
720+
add_responses what_passport_do_you_have?: "taiwan",
721+
purpose_of_visit?: "study",
722+
staying_for_how_long?: "six_months_or_less"
723+
end
724+
725+
should "render specific guidance for a Taiwan passport" do
726+
assert_rendered_outcome text: "personal ID number on the bio data page"
727+
end
663728
end
664729

665730
context "outcome: outcome_school_y" do
@@ -719,11 +784,6 @@ class CheckUkVisaFlowTest < ActiveSupport::TestCase
719784
travelling_to_cta?: "republic_of_ireland"
720785
end
721786

722-
should "render specific guidance for a Taiwan passport" do
723-
add_responses what_passport_do_you_have?: "taiwan"
724-
assert_rendered_outcome text: "You will not need a visa if your passport has a personal ID number on the bio data page."
725-
end
726-
727787
should "render different guidance for passports from outher countries" do
728788
add_responses what_passport_do_you_have?: @visa_national_country
729789
assert_rendered_outcome text: "You’ll need a visa to pass through the UK (unless you’re exempt)"
@@ -968,11 +1028,6 @@ class CheckUkVisaFlowTest < ActiveSupport::TestCase
9681028
assert_no_rendered_outcome text: @non_visa_national_eta_text
9691029
assert_no_rendered_outcome text: @eea_eta_text
9701030
end
971-
972-
should "render callout box for eta_rollout_group_1_rest_of_the_world_country passport holders" do
973-
add_responses what_passport_do_you_have?: @eta_rollout_group_1_rest_of_the_world_country
974-
assert_rendered_outcome text: @eta_rollout_group_1_rest_of_the_world_text
975-
end
9761031
end
9771032

9781033
context "outcome: outcome_study_no_visa_needed" do

test/support/flows/check_uk_visa_flow_test_helper.rb

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,9 @@ def test_shared_purpose_of_visit_next_nodes
8080
assert_next_node :outcome_school_electronic_travel_authorisation, for_response: "school"
8181
end
8282

83-
should "have a next node of outcome_study_waiver_taiwan for a Taiwan passport" do
83+
should "have a next node of outcome_school_electronic_travel_authorisation for a Taiwan passport" do
8484
add_responses what_passport_do_you_have?: "taiwan"
85-
assert_next_node :outcome_study_waiver_taiwan, for_response: "school"
85+
assert_next_node :outcome_school_electronic_travel_authorisation, for_response: "school"
8686
end
8787

8888
should "have a next node of outcome_school_n for a non-visa national passport" do
@@ -95,7 +95,7 @@ def test_shared_purpose_of_visit_next_nodes
9595
assert_next_node :outcome_school_n, for_response: "school"
9696
end
9797

98-
should "have a next node of outcome_school_n for an EEA passport" do
98+
should "have a next node of outcome_school_electronic_travel_authorisation for an EEA passport" do
9999
add_responses what_passport_do_you_have?: @eea_country
100100
assert_next_node :outcome_school_electronic_travel_authorisation, for_response: "school"
101101
end
@@ -112,9 +112,9 @@ def test_shared_purpose_of_visit_next_nodes
112112
assert_next_node :outcome_medical_electronic_travel_authorisation, for_response: "medical"
113113
end
114114

115-
should "have a next node of outcome_visit_waiver_taiwan for a Taiwan passport" do
115+
should "have a next node of outcome_medical_electronic_travel_authorisation for a Taiwan passport" do
116116
add_responses what_passport_do_you_have?: "taiwan"
117-
assert_next_node :outcome_visit_waiver_taiwan, for_response: "medical"
117+
assert_next_node :outcome_medical_electronic_travel_authorisation, for_response: "medical"
118118
end
119119

120120
should "have a next node of outcome_medical_n for a non-visa national passport" do
@@ -127,7 +127,7 @@ def test_shared_purpose_of_visit_next_nodes
127127
assert_next_node :outcome_medical_n, for_response: "medical"
128128
end
129129

130-
should "have a next node of outcome_medical_n for an EEA passport" do
130+
should "have a next node of outcome_medical_electronic_travel_authorisation for an EEA passport" do
131131
add_responses what_passport_do_you_have?: @eea_country
132132
assert_next_node :outcome_medical_electronic_travel_authorisation, for_response: "medical"
133133
end
@@ -144,17 +144,17 @@ def test_shared_purpose_of_visit_next_nodes
144144
assert_next_node :outcome_tourism_electronic_travel_authorisation, for_response: "tourism"
145145
end
146146

147-
should "have a next node of outcome_visit_waiver_taiwan for a Taiwan passport" do
147+
should "have a next node of outcome_tourism_requires_electronic_travel_authorisation for a Taiwan passport" do
148148
add_responses what_passport_do_you_have?: "taiwan"
149-
assert_next_node :outcome_visit_waiver_taiwan, for_response: "tourism"
149+
assert_next_node :outcome_tourism_electronic_travel_authorisation, for_response: "tourism"
150150
end
151151

152152
should "have a next node of outcome_tourism_n for a non-visa national passport" do
153153
add_responses what_passport_do_you_have?: @non_visa_national_country
154154
assert_next_node :outcome_tourism_n, for_response: "tourism"
155155
end
156156

157-
should "have a next node of outcome_tourism_n for an EEA passport" do
157+
should "have a next node of outcome_tourism_requires_electronic_travel_authorisation for an EEA passport" do
158158
add_responses what_passport_do_you_have?: @eea_country
159159
assert_next_node :outcome_tourism_electronic_travel_authorisation, for_response: "tourism"
160160
end

0 commit comments

Comments
 (0)