-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement interruption pages for ENIC
- Loading branch information
Showing
11 changed files
with
286 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
24 changes: 24 additions & 0 deletions
24
app/controllers/candidate_interface/course_choices/review_enic_interruption_controller.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
module CandidateInterface | ||
module CourseChoices | ||
class ReviewEnicInterruptionController < CandidateInterface::CourseChoices::BaseController | ||
before_action :redirect_to_your_applications_if_submitted | ||
before_action :viewed_enic_interruption_page, only: :show | ||
|
||
def show | ||
set_enic_reviewed_cookie | ||
end | ||
|
||
private | ||
|
||
def viewed_enic_interruption_page | ||
if cookies[:viewed_enic_interruption_page] == 'true' | ||
redirect_to candidate_interface_course_choices_course_review_and_submit_path(@application_choice.id) | ||
end | ||
end | ||
|
||
def set_enic_reviewed_cookie | ||
cookies[:viewed_enic_interruption_page] = { value: 'true' } | ||
end | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
16 changes: 16 additions & 0 deletions
16
app/views/candidate_interface/course_choices/review_enic_interruption/_not_needed.html.erb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
<div class="govuk-grid-row"> | ||
<div class="govuk-grid-column-three-quarters"> | ||
<div class="app-grid-column--grey"> | ||
<h1 class="govuk-heading-l"><%= t('review_enic_interruption.title') %></h1> | ||
|
||
<p class="govuk-body"><%= t('review_enic_interruption.not_needed.more_likely_html') %></p> | ||
<p class="govuk-body"><%= t('review_enic_interruption.not_needed.if_you_apply_enic_html', link: govuk_link_to(t('review_enic_interruption.not_needed.apply_for_enic_link'), candidate_interface_course_choices_course_review_path(current_application.id))) %></p> | ||
<p class="govuk-body"><%= t('review_enic_interruption.not_needed.dont_provide_enic') %></p> | ||
</div> | ||
|
||
<div class="govuk-button-group app-course-choice__confirm-submission"> | ||
<%= govuk_button_to(t('review_enic_interruption.not_needed.continue_button_text'), candidate_interface_course_choices_course_review_and_submit_path(@application_choice.id), method: :get) %> | ||
<%= govuk_link_to(t('review_enic_interruption.not_needed.save_application_button_text'), candidate_interface_course_choices_course_review_path(current_application.id)) %> | ||
</div> | ||
</div> | ||
</div> |
17 changes: 17 additions & 0 deletions
17
...views/candidate_interface/course_choices/review_enic_interruption/_waiting_maybe.html.erb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
<div class="govuk-grid-row"> | ||
<div class="govuk-grid-column-three-quarters"> | ||
<div class="app-grid-column--grey"> | ||
<h1 class="govuk-heading-l"><%= t('review_enic_interruption.title') %></h1> | ||
|
||
<p class="govuk-body"><%= t('review_enic_interruption.waiting_maybe.planned_link_html', link: govuk_link_to(t('review_enic_interruption.waiting_maybe.enic_link_text'), t('service_name.enic.statement_of_comparability_url'))) %></p> | ||
<p class="govuk-body"><%= t('review_enic_interruption.waiting_maybe.if_you_have_enic') %></p> | ||
<p class="govuk-body"><%= t('review_enic_interruption.waiting_maybe.save_as_draft_html', link: govuk_link_to(t('review_enic_interruption.waiting_maybe.save_this_as_draft'), candidate_interface_course_choices_course_review_path(current_application.id))) %></p> | ||
<p class="govuk-body"><%= t('review_enic_interruption.waiting_maybe.without_enic') %></p> | ||
</div> | ||
|
||
<div class="govuk-button-group app-course-choice__confirm-submission"> | ||
<%= govuk_button_to(t('review_enic_interruption.waiting_maybe.enter_enic'), candidate_interface_continuous_applications_details_path, method: :get) %> | ||
<%= govuk_link_to(t('review_enic_interruption.waiting_maybe.without_entering_enic'), candidate_interface_course_choices_course_review_and_submit_path(@application_choice.id)) %> | ||
</div> | ||
</div> | ||
</div> |
10 changes: 10 additions & 0 deletions
10
app/views/candidate_interface/course_choices/review_enic_interruption/show.html.erb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
<% content_for :title, t('page_titles.application_review_and_submit', provider_name: @application_choice.provider.name) %> | ||
<% content_for(:before_content, govuk_back_link_to(candidate_interface_continuous_applications_choices_path)) %> | ||
|
||
<% if current_application.qualifications_enic_reasons_waiting_or_maybe? %> | ||
<%= render 'waiting_maybe' %> | ||
<% end %> | ||
|
||
<% if current_application.any_qualification_enic_reason_not_needed? %> | ||
<%= render 'not_needed' %> | ||
<% end %> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
en: | ||
review_interruption: | ||
title: Give your application the best chance of success | ||
statement_count: Your personal statement is %{word_count}. | ||
success_percentage: 90% of successful candidates write about %{word_count} words or more for their personal statement. | ||
increase_chances: Increase your chances of getting an offer by adding more information to your personal statement. | ||
edit_statement: Would you like to edit your personal statement before submitting your application? | ||
edit_statement_button_text: Edit your personal statement | ||
continue_without_editing: Continue without editing | ||
review_enic_interruption: | ||
title: You have not included a UK ENIC reference number | ||
waiting_maybe: | ||
enic_link_text: apply for a statement of comparability from UK ENIC (opens in new tab) | ||
planned_link_html: You have said you had, or planned to %{link} but you have not added the reference number to this application. | ||
if_you_have_enic: If you have a UK ENIC reference number, you should add it to your qualifications details. | ||
save_this_as_draft: save this application as a draft | ||
save_as_draft_html: If you are still waiting then you can %{link} and come back to add your UK ENIC reference number later. | ||
without_enic: You can also submit your application without the UK ENIC reference number and contact the training provider when it arrives. | ||
enter_enic: Enter a UK ENIC number | ||
without_entering_enic: Continue without adding a UK ENIC number | ||
not_needed: | ||
more_likely_html: Including a UK ENIC reference number in your application makes youn around <b> 30% more likely to receive an offer.</b> | ||
apply_for_enic_link: apply for a UK ENIC statement of comparability (opens in new tab) | ||
if_you_apply_enic_html: If you %{link} and include the reference number in your application it makes it easier for training providers to understand your qualifications. | ||
dont_provide_enic: If you don’t include a UK ENIC statement of comparability and the provider asks for one, it could cause delays. | ||
continue_button_text: Continue without a UK ENIC number | ||
save_application_button_text: Save this application as a draft |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
123 changes: 123 additions & 0 deletions
123
...date_interface/submitting/candidate_submitting_application_with_enic_interruption_spec.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
require 'rails_helper' | ||
|
||
RSpec.describe 'Candidate submits the application with enic interruption pages' do | ||
include CandidateHelper | ||
include SignInHelper | ||
|
||
scenario 'Candidate submits an application with all applications having an enic_reason of not_needed', :js, time: mid_cycle do | ||
given_i_am_signed_in | ||
|
||
when_i_have_completed_my_application_and_have_added_primary_as_a_course_choice_with_not_needed_qualification | ||
and_i_continue_with_my_application | ||
|
||
when_i_save_as_draft | ||
and_i_am_redirected_to_the_application_dashboard | ||
and_my_application_is_still_unsubmitted | ||
and_i_continue_with_my_application | ||
|
||
when_i_click_to_review_my_application | ||
then_i_see_a_interruption_page_for_personal_statement | ||
when_i_continue_without_editing | ||
then_i_see_a_interruption_page_for_not_needed_enic | ||
then_the_viewed_enic_interruption_page_cookie_to_be_set | ||
end | ||
|
||
scenario 'Candidate submits an application with an application having an enic_reason of maybe', :js, time: mid_cycle do | ||
given_i_am_signed_in | ||
|
||
when_i_have_completed_my_application_and_have_added_primary_as_a_course_choice_with_waiting_or_maybe_qualification | ||
and_i_continue_with_my_application | ||
|
||
when_i_save_as_draft | ||
and_i_am_redirected_to_the_application_dashboard | ||
and_my_application_is_still_unsubmitted | ||
and_i_continue_with_my_application | ||
|
||
when_i_click_to_review_my_application | ||
then_i_see_a_interruption_page_for_personal_statement | ||
when_i_continue_without_editing | ||
then_i_see_a_interruption_page_for_waiting_or_maybe_enic | ||
then_the_viewed_enic_interruption_page_cookie_to_be_set | ||
end | ||
|
||
def when_i_have_completed_my_application_and_have_added_primary_as_a_course_choice_with_not_needed_qualification | ||
given_i_have_a_primary_course_choice(application_form_completed: true) | ||
add_not_needed_qualification | ||
end | ||
|
||
def when_i_have_completed_my_application_and_have_added_primary_as_a_course_choice_with_waiting_or_maybe_qualification | ||
given_i_have_a_primary_course_choice(application_form_completed: true) | ||
add_waiting_or_maybe_qualification | ||
end | ||
|
||
def given_i_have_a_primary_course_choice(application_form_completed:) | ||
completed_section_trait = application_form_completed.present? ? :completed : :minimum_info | ||
|
||
@provider = create(:provider, name: 'Gorse SCITT', code: '1N1') | ||
site = create( | ||
:site, | ||
name: 'Main site', | ||
code: '-', | ||
provider: @provider, | ||
address_line1: 'Gorse SCITT', | ||
address_line2: 'C/O The Bruntcliffe Academy', | ||
address_line3: 'Bruntcliffe Lane', | ||
address_line4: 'MORLEY, lEEDS', | ||
postcode: 'LS27 0LZ', | ||
) | ||
@course = create(:course, :open, name: 'Primary', code: '2XT2', provider: @provider) | ||
@course_option = create(:course_option, site:, course: @course) | ||
current_candidate.application_forms.delete_all | ||
current_candidate.application_forms << build(:application_form, completed_section_trait, becoming_a_teacher: 'I want to teach') | ||
@application_choice = create(:application_choice, :unsubmitted, course_option: @course_option, application_form: current_candidate.current_application) | ||
end | ||
|
||
def add_not_needed_qualification | ||
@application_choice.application_form.application_qualifications << build(:application_qualification, enic_reason: 'not_needed') | ||
end | ||
|
||
def add_waiting_or_maybe_qualification | ||
@application_choice.application_form.application_qualifications << build(:application_qualification, enic_reason: 'maybe') | ||
end | ||
|
||
def when_i_save_as_draft | ||
click_link_or_button 'Save as draft' | ||
end | ||
|
||
def and_my_application_is_still_unsubmitted | ||
expect(@application_choice.reload).to be_unsubmitted | ||
end | ||
|
||
def and_i_am_redirected_to_the_application_dashboard | ||
expect(page).to have_content t('page_titles.application_dashboard') | ||
expect(page).to have_content 'Gorse SCITT' | ||
end | ||
|
||
def when_i_go_back | ||
click_link_or_button 'Back' | ||
end | ||
|
||
def then_i_see_a_interruption_page_for_personal_statement | ||
expect(page).to have_content 'Your personal statement is 4 words.' | ||
end | ||
|
||
def then_i_see_a_interruption_page_for_not_needed_enic | ||
expect(page).to have_content 'You have not included a UK ENIC reference number' | ||
expect(page).to have_content 'Including a UK ENIC reference number in your application makes youn around 30% more likely to receive an offer.' | ||
expect(page).to have_current_path( | ||
candidate_interface_course_choices_course_review_enic_interruption_path(@application_choice.id), | ||
) | ||
end | ||
|
||
def then_i_see_a_interruption_page_for_waiting_or_maybe_enic | ||
expect(page).to have_content 'You have not included a UK ENIC reference number' | ||
expect(page).to have_content 'If you have a UK ENIC reference number, you should add it to your qualifications details.' | ||
expect(page).to have_current_path( | ||
candidate_interface_course_choices_course_review_enic_interruption_path(@application_choice.id), | ||
) | ||
end | ||
|
||
def then_the_viewed_enic_interruption_page_cookie_to_be_set | ||
expect(page.driver.browser.manage.cookie_named('viewed_enic_interruption_page')[:value]).to eq('true') | ||
end | ||
end |