From 75ffb03671ade20ec1e8357409dcf3e399cb6ad7 Mon Sep 17 00:00:00 2001 From: CatalinVoineag <11318084+CatalinVoineag@users.noreply.github.com> Date: Thu, 11 Jul 2024 14:46:27 +0100 Subject: [PATCH] Redesign visa sponsorship on course page The International students section is going to be removed from the publis/find course show pages. This is part of a redesign of the course page to make it easier for users to view the information without being overwhelmed The visa sponsorship content will now be in a drop-down details tag. The content inside has also been tweaked. --- .../view.html.erb | 14 +++-- .../international_students_component/view.rb | 18 +++++- .../courses/summary_component/view.html.erb | 4 +- .../find/courses/summary_component/view.rb | 24 -------- app/helpers/view_helper.rb | 24 ++++++++ app/views/find/courses/show.html.erb | 2 - app/views/publish/courses/preview.html.erb | 2 - config/locales/find.yml | 23 ++++--- .../view_spec.rb | 12 +--- .../find/search/viewing_a_course_spec.rb | 9 ++- .../publish/viewing_a_course_preview_spec.rb | 4 ++ spec/helpers/view_helper_spec.rb | 60 +++++++++++++++++++ 12 files changed, 134 insertions(+), 62 deletions(-) diff --git a/app/components/find/courses/international_students_component/view.html.erb b/app/components/find/courses/international_students_component/view.html.erb index c8ec1dfad0..d5b0c66963 100644 --- a/app/components/find/courses/international_students_component/view.html.erb +++ b/app/components/find/courses/international_students_component/view.html.erb @@ -1,5 +1,4 @@ -
<%= apprenticeship? ? "You’ll also" : "You’ll" %> need the <%= right_required %> in the UK. You already have this if, for example, you:
+<%= apprenticeship? ? "You’ll also" : "You’ll" %> need the <%= right_required %> in the UK
+ +You already have this if, for example, you:
Learn more about <%= govuk_link_to("training to teach in England as an international student", t("find.get_into_teaching.url_train_to_teach_as_international_candidate")) %>.
If you do not already have the right to work in the UK, you may need to apply for a visa. The main visa for salaried courses is the Skilled Worker visa.
-Sponsorship for a Skilled Worker visa is not available for this course.
-If you need a visa, filter your course search to find courses with visa sponsorship.
-You can also learn more about different types of visa which allow you to train to be a teacher without being sponsored.
+If you do not already have the right to study in the UK, you may need to apply for your visa to train to teach in England .
available: html: -If you do not already have the right to work in the UK for the duration of this course, you may need to apply for a Skilled Worker visa.
+If you do not already have the right to work in the UK, you may need to apply for your visa to train to teach in England .
To do this, you’ll need to be sponsored by your employer.
-Before you apply for this course, contact us to check Skilled Worker visa sponsorship is available. If it is, and you get a place on this course, we’ll help you apply for your visa.
+Before you apply for this course, contact the training provider to check Skilled Worker visa sponsorship is available. If it is, and you get a place on this course, we’ll help you apply for your visa.
student_visa: not_available: html: -If you do not already have the right to study in the UK, you may need to apply for a visa.
-Sponsorship for a student visa is not available for this course.
-If you need a visa, filter your course search to find courses with visa sponsorship.
-You can also learn more about different types of visa which allow you to train to be a teacher without being sponsored.
+If you do not already have the right to study in the UK, you may need to apply for your visa to train to teach in England .
available: html: -If you do not already have the right to study in the UK for the duration of this course, you may need to apply for a Student visa.
+If you do not already have the right to study in the UK, you may need to apply for your visa to train to teach in England .
To do this, you’ll need to be sponsored by your training provider.
-Before you apply for this course, contact us to check Student visa sponsorship is available. If it is, and you get a place on this course, we’ll help you apply for your visa.
+Before you apply for this course, contact the training provider to check Student visa sponsorship is available. If it is, and you get a place on this course, we’ll help you apply for your visa.
entitlement: html:You may be entitled to £10,000 from the UK government to help with the financial costs of moving to England.
diff --git a/spec/components/find/courses/international_students_component/view_spec.rb b/spec/components/find/courses/international_students_component/view_spec.rb index 35e1da11b7..ecdd153e17 100644 --- a/spec/components/find/courses/international_students_component/view_spec.rb +++ b/spec/components/find/courses/international_students_component/view_spec.rb @@ -16,10 +16,6 @@ it 'tells candidates they’ll need the right to study' do expect(page).to have_text('You’ll need the right to study in the UK') end - - it 'tells candidates sponsorship is not available' do - expect(page).to have_text('Sponsorship for a student visa is not available for this course') - end end context 'when the course is fee-paying and does sponsor Student visas' do @@ -37,7 +33,7 @@ end it 'tells candidates visa sponsorship may be available, but they should check' do - expect(page).to have_text('Before you apply for this course, contact us to check Student visa sponsorship is available. If it is, and you get a place on this course, we’ll help you apply for your visa.') + expect(page).to have_text('Before you apply for this course, contact the training provider to check Student visa sponsorship is available. If it is, and you get a place on this course, we’ll help you apply for your visa.') end it 'does not tell candidates the 3-year residency rule' do @@ -64,7 +60,7 @@ end it 'tells candidates visa sponsorship may be available, but they should check' do - expect(page).to have_text('Before you apply for this course, contact us to check Skilled Worker visa sponsorship is available. If it is, and you get a place on this course, we’ll help you apply for your visa.') + expect(page).to have_text('Before you apply for this course, contact the training provider to check Skilled Worker visa sponsorship is available. If it is, and you get a place on this course, we’ll help you apply for your visa.') end end @@ -82,10 +78,6 @@ expect(page).to have_text('You’ll need the right to work in the UK') end - it 'tells candidates visa sponsorship is not available' do - expect(page).to have_text('Sponsorship for a Skilled Worker visa is not available for this course') - end - it 'does not tell candidates the 3-year residency rule' do expect(page).to have_no_text('To apply for this teaching apprenticeship course, you’ll need to have lived in the UK for at least 3 years before the start of the course') end diff --git a/spec/features/find/search/viewing_a_course_spec.rb b/spec/features/find/search/viewing_a_course_spec.rb index 5816a66bba..8ea8e70c46 100644 --- a/spec/features/find/search/viewing_a_course_spec.rb +++ b/spec/features/find/search/viewing_a_course_spec.rb @@ -188,6 +188,10 @@ def then_i_should_see_the_course_information 'QTS with PGCE' ) + expect(find_course_show_page).to have_content( + 'Student visas can be sponsored' + ) + expect(find_course_show_page).to have_content( '11 to 18' ) @@ -242,11 +246,6 @@ def then_i_should_see_the_course_information @course.latest_published_enrichment.required_qualifications ) - expect(find_course_show_page).to have_international_students - expect(find_course_show_page.international_students).to have_content( - 'Before you apply for this course, contact us to check Student visa sponsorship is available. If it is, and you get a place on this course, we’ll help you apply for your visa.' - ) - expect(find_course_show_page.required_qualifications).to have_content( 'Grade 4 (C) or above in English and maths, or equivalent qualification.' ) diff --git a/spec/features/publish/viewing_a_course_preview_spec.rb b/spec/features/publish/viewing_a_course_preview_spec.rb index 4387b52028..f6adae9a4d 100644 --- a/spec/features/publish/viewing_a_course_preview_spec.rb +++ b/spec/features/publish/viewing_a_course_preview_spec.rb @@ -187,6 +187,10 @@ def then_i_see_the_course_preview_details 'QTS with PGCE' ) + expect(publish_course_preview_page).to have_content( + 'Visas cannot be sponsored' + ) + expect(publish_course_preview_page).to have_content( '11 to 18' ) diff --git a/spec/helpers/view_helper_spec.rb b/spec/helpers/view_helper_spec.rb index 63fc5ad0fb..ed8d78b64a 100644 --- a/spec/helpers/view_helper_spec.rb +++ b/spec/helpers/view_helper_spec.rb @@ -3,6 +3,9 @@ require 'rails_helper' describe ViewHelper do + include PreviewHelper + include Rails.application.routes.url_helpers + describe '#enrichment_error_url' do let(:provider) { build(:provider, recruitment_cycle: build(:recruitment_cycle)) } let(:course) { build(:course, provider:) } @@ -27,4 +30,61 @@ expect(provider_enrichment_error_url(provider:, field: 'email')).to eq("/publish/organisations/#{provider.provider_code}/#{provider.recruitment_cycle.year}/contact?display_errors=true#provider_email") end end + + describe '#x_provider_url' do + let(:course) { create(:course) } + + context 'when preview? is true' do + def preview?(_) = true + + it 'returns the publish provider url' do + expect(x_provider_url).to eq( + provider_publish_provider_recruitment_cycle_course_path( + course.provider_code, + course.recruitment_cycle_year, + course.course_code + ) + ) + end + end + + context 'when preview? is false' do + def preview?(_) = false + + it 'returns the find provider url' do + expect(x_provider_url).to eq( + find_provider_path(course.provider_code, course.course_code) + ) + end + end + end + + describe '#x_accrediting_provider_url +' do + let(:course) { create(:course) } + + context 'when preview? is true' do + def preview?(_) = true + + it 'returns the publish accrediting provider url' do + expect(x_accrediting_provider_url).to eq( + accredited_by_publish_provider_recruitment_cycle_course_path( + course.provider_code, + course.recruitment_cycle_year, + course.course_code + ) + ) + end + end + + context 'when preview? is false' do + def preview?(_) = false + + it 'returns the find accrediting provider url' do + expect(x_accrediting_provider_url).to eq( + find_accrediting_provider_path(course.provider_code, course.course_code) + ) + end + end + end end