-
- beta
-
-
- This is a new service – your <%= link_to("feedback", new_teacher_training_adviser_feedback_path, target: :blank) %> will help us to improve it.
-
-
- This accessibility statement applies to the Get an adviser website.
-
-
- This website is run by the Department for Education. We want as many people as possible to be able to use this website. For
- example, that means you should be able to:
-
-
-
change colours, contrast levels and fonts
-
zoom in up to 300% without the text spilling off the screen
-
navigate most of the website using just a keyboard
-
navigate most of the website using speech recognition software
-
- listen to most of the website using a screen reader (including the most
- recent versions of JAWS, NVDA and VoiceOver)
-
-
-
- We've also made the website text as simple as possible to understand.
-
-
- AbilityNet has advice on making your device easier to use if you have a disability.
-
-
Feedback and contact information
-
- If you need information on this website in a different format like accessible PDF, large print, easy read, audio recording or braille:
-
- We'll consider your request and get back to you within 5 working days.
-
-
Reporting accessibility problems with this website
-
- We're always looking to improve the accessibility of this website.
-
-
- If you find any problems that are not listed on this page or think we're
- not meeting accessibility requirements, contact our helpdesk by emailing
- getintoteaching.helpdesk@education.gov.uk.
-
-
Enforcement procedure
-
- The Equality and Human Rights Commission (EHRC) is responsible for
- enforcing the Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the ‘accessibility regulations’).
Technical information about this website's accessibility
-
- The Department for Education is committed to making its websites, in accordance with the
- Public Sector Bodies (Websites and Mobile Applications) (No. 2)
- Accessibility Regulations 2018.
-
-
Compliance status
-
- This website is fully compliant with the WCAG version 2.1 AA standard.
-
-
What we’re doing to improve accessibility
-
- We’ll continue to test the accessibility of this website as it develops.
-
-
Preparation of this accessibility statement
-
- This statement was prepared on 9 December 2022. It was last reviewed on 16 March 2023.
-
-
- This website was last tested independently on 4 May 2022. The test was carried out by Digital Accessibility Centre (DAC) Limited.
-
-
- We are in the process of commissioning a further WCAG 2.1 AA level technical compliance audit, including comprehensive manual testing.
-
- We want to make our services easy, useful and reliable. When services are delivered on the internet, this sometimes involves placing small amounts of information on your computer, tablet, or mobile phone – whichever device you use to access our site. these include small files known as cookies.
-
-
- The information below shows the cookies that are set by education.gov.uk(Link opens in new
- window) and the third-party services we use. At the header and footer of this page, you can change your preferences at any time for marketing cookies.
-
-
-
1. Functional cookies
-
- These functional cookies are strictly necessary cookies, which help to make your experience on the site as smooth as possible and do not gather information about you.
-
-
Some examples of these cookies include:
-
-
enabling a service to recognise your device so you don’t have to give the same information several times during one task
-
recognising that you may already have given a username and password so that you don’t need to do so for every webpage requested
-
measuring how many people are using our services so that we can make them easier to use and ensure that there is enough capacity to make sure they are fast
-
-
-
-
-
-
-
Name
-
Purpose
-
Expires
-
-
-
-
-
_dfe_session
-
temporary session data
-
End of browser session
-
-
-
gta-cookie-preferences-v1
-
Record acceptance of beta site cookie policy
-
90 days
-
-
-
-
-
-
2. Non-functional cookies
-
These cookies allow us to provide a more enhanced service and help us to learn what content our users like or don’t like, so we can make the service even better. they also help us to provide you with personalised content and teaching-related advertisements to help you with your consideration of Initial Teacher Training and returning to teaching. Whilst these cookies don’t collect your name or address, they do collect a unique user identifier code, which is linked to your device.
-
The types of non-functional cookies we set are:
-
-
Website usage
-
We measure website usage so that we can gain a better understanding of how people use our site. this enables us to improve the information that we provide. It also ensures that the service is available when you want it, and that it delivers information quickly. We use Google Analytics to gather this data.
-
-
-
-
-
Name
-
Purpose
-
Expires
-
-
-
-
-
_ga
-
Used by Google Analytics, this helps count how many people visit this site by tracking if you’ve visited before
-
2 years
-
-
-
UA-179982899-1
-
Used by Google Analytics, this registers a unique ID to generate statistics about how you use the website
-
1 minute
-
-
-
_gid
-
Used by Google Analytics, this helps count how many people visit this site by tracking if you’ve visited before
-
24 hours
-
-
-
-
-
-
Marketing
-
We use cookies to make our marketing more engaging and relevant to users. We use cookie information to focus our marketing on what’s relevant to specific users, to improve performance reporting, and to avoid showing ads that the user has already seen.
-
For example, we use cookies to remember your most recent searches, your previous interactions with our ads or search results, and your visits to our website.
-
We may also use data from conversion cookies to determine how many people who click on our ads go on to sign up for services on our website. Conversion cookies are not used by Google for interest-based ad targeting and persist for a limited time only.
-
We place marketing tags on our pages to simply track the success of our content per channel. Some of our pages may contain content from other sites, like YouTube, which may set their own cookies. these sites are sometimes called 'third party' services. this tells us how many people are seeing the content and whether it's useful.
-
In addition, if you share a link to one of our pages, the service you share it on (for example, Facebook) may set a cookie. We have no control over cookies set on other websites - you can turn them off, but not through us.
-
-
-
-
-
Name
-
Purpose
-
Expires
-
-
-
-
-
_pin_unauth
-
We work with Pinterest to make our Pinterest ads more effective by being able to retarget those that have already visited our website and create lookalike audiences.
-
1 year later
-
-
-
_scid
-
Snapchat uses this cookie to deliver advertisements, to make them more relevant and meaningful to consumers, and to track the efficiency of advertising campaigns.
-
13 months later
-
-
-
_derived_epik
-
gets set by Pinterest
-
1 year later
-
-
-
fr
-
These help to deliver our advertising when you visit Facebook or a digital platform powered by Facebook Advertising
-
90 days later
-
-
-
ATN
-
athmt.com
-
2 years later
-
-
-
X-AB
-
sc-static.net
-
24 hours later
-
-
-
_pineterest_ct_ua
-
Pinterest marketing.
-
1 year later
-
-
-
GPS
-
YouTube may set this cookie on your computer once you click on the YouTube video player
-
30 minutes later
-
-
-
PREF
-
YouTube may set this cookie on your computer once you click on the YouTube video player
-
2 years later
-
-
-
VISITOR_INFO1_LIVE
-
YouTube may set this cookie on your computer once you click on the YouTube video player
-
180 days later
-
-
-
YSC
-
YouTube may set this cookie on your computer once you click on the YouTube video player
-
End of browser session
-
-
-
IDE
-
Double-click advertising
-
390 days later
-
-
-
sc_at
-
Snapchat uses this cookie to deliver advertisements, to make them more relevant and meaningful to consumers, and to track the efficiency of advertising campaigns.
-
390 days later
-
-
-
personalization_id
-
Twitter uses this cookie to deliver advertisements, to make them more relevant and meaningful to consumers, and to track the efficiency of advertising campaigns.
-
2 years later
-
-
-
bam-session
-
BAM use this cookie to attribute mailing list sign ups back to the agent at a teaching event that presented a QR code to the candidate.
-
30 days
-
-
-
dax_listenerid
-
DAX use this cookie for campaign effectiveness measurement for digital audio activity.
-
3 months
-
-
-
-
-
-
How to control your cookies
-
You can delete or manage all cookies from your browser. the links below take you to the ‘Help' sections for each of the major browsers, so that you can find out more about how to manage your cookies.
If you’re thinking about teaching in England, an adviser can provide free, one-to-one support through phone, text or email. You can talk to them as little or as much as needed.
-
All our advisers have years of teaching experience and can help you whether you’re just thinking about teaching, or you’re ready to get back into the classroom.
-
Your adviser can help you:
-
-
get school experience
-
discover what teaching is really like
-
write your personal statement
-
find out how to improve your subject knowledge
-
understand the qualifications you need
-
find a teaching role
-
-
Who can get an adviser?
-
-
You'll need to have or be studying for a bachelor's degree in any subject to get an adviser. If you already have a degree, it needs to be a 2:2 or higher.
-
-
If you’re thinking about returning to teaching, you'll need to have qualified teacher status (QTS) and want to teach a secondary subject in England to get an adviser.
-
-
Non-UK trainees
-
-
To get an adviser, you'll need to have or be studying for an overseas qualification of the same standard as a UK bachelor’s degree, class 2:2 (honours) or higher.
-
-
You can check the UK equivalents of your degree qualifications by calling us on +44 800 389 2500.
- We use <%= link_to "cookies to collect information", cookies_path %> about how you use this site.
- We use this information to make the website work as well as possible and improve our services.
-
diff --git a/app/views/teacher_training_adviser/feedbacks/thank_you.erb b/app/views/teacher_training_adviser/feedbacks/thank_you.erb
deleted file mode 100644
index 975fe7546..000000000
--- a/app/views/teacher_training_adviser/feedbacks/thank_you.erb
+++ /dev/null
@@ -1,24 +0,0 @@
-<% @page_title = "Thank you for your feedback" %>
-
-
-
-
-
-
-
- Thank you for your feedback.
-
-
-
- Still have questions about teaching?
-
-
- <%= link_to_git_events("Get your questions answered at an event") %> or consider getting <%= link_to("school experience", "https://schoolexperience.education.gov.uk/") %>.
-
-
- There's lots of <%= link_to_git_site("ways into teaching", "/train-to-be-a-teacher") %>, including training on the job with a salary or going to university to do a postgraduate course.
-
-
-
-
-
diff --git a/app/views/teacher_training_adviser/not_available.html.erb b/app/views/teacher_training_adviser/not_available.html.erb
deleted file mode 100644
index 25abd17de..000000000
--- a/app/views/teacher_training_adviser/not_available.html.erb
+++ /dev/null
@@ -1,9 +0,0 @@
-<% @page_title = "Sorry, the adviser service is currently unavailable" %>
-
-
-
Sorry, the adviser service is currently unavailable
-
To sign up whilst this service is unavailable, you can call us on
- 0800 389 2500
-
-
-
diff --git a/app/views/teacher_training_adviser/steps/_already_signed_up.html.erb b/app/views/teacher_training_adviser/steps/_already_signed_up.html.erb
deleted file mode 100644
index c50948481..000000000
--- a/app/views/teacher_training_adviser/steps/_already_signed_up.html.erb
+++ /dev/null
@@ -1,16 +0,0 @@
-<% @page_title = "You have already signed up to this service" %>
-
-
-
You have already signed up to this service
-
-
The email address <%= mail_to(session["sign_up"]["email"], nil) %> has already been used to sign up for the Get an adviser service.
-
-
Waiting to hear from your adviser?
-
-
If you’ve already signed up for an adviser, they should get in touch with you by email within 5 working days.
-
-
Make sure you check your junk or spam folders.
-
-
If you do not hear anything from an adviser within 5 working days, you can contact us using the details below.
-
-
diff --git a/app/views/teacher_training_adviser/steps/_authenticate.html.erb b/app/views/teacher_training_adviser/steps/_authenticate.html.erb
deleted file mode 100644
index c14d3973b..000000000
--- a/app/views/teacher_training_adviser/steps/_authenticate.html.erb
+++ /dev/null
@@ -1,5 +0,0 @@
-<% @page_title = "You've already registered with us" %>
-
-<%= f.govuk_fieldset legend: { text: "You're already registered with us" } do %>
- <%= render "wizard/steps/authenticate", f: f, resend_verification_path: resend_verification_teacher_training_adviser_steps_path %>
-<% end %>
diff --git a/app/views/teacher_training_adviser/steps/_date_of_birth.html.erb b/app/views/teacher_training_adviser/steps/_date_of_birth.html.erb
deleted file mode 100644
index d590de962..000000000
--- a/app/views/teacher_training_adviser/steps/_date_of_birth.html.erb
+++ /dev/null
@@ -1,8 +0,0 @@
-<% @page_title = "Enter your date of birth" %>
-
-<%= f.govuk_date_field(:date_of_birth, date_of_birth: true) do %>
-
- We ask for your date of birth to check you're over 18. We also use it to
- better understand who is using this service, which helps us to improve it.
-
-<% end %>
diff --git a/app/views/teacher_training_adviser/steps/_form.html.erb b/app/views/teacher_training_adviser/steps/_form.html.erb
deleted file mode 100644
index e29aeed18..000000000
--- a/app/views/teacher_training_adviser/steps/_form.html.erb
+++ /dev/null
@@ -1,25 +0,0 @@
-<% content_for(:above_main_content) do %>
-
-
-
- <%= back_link step_path(wizard.previous_key) if wizard.previous_key %>
-
-
-
-<% end %>
-
-
- <%= govuk_form_for current_step, url: step_path do |f| %>
- <%= f.govuk_error_summary %>
-
- <%= render current_step.key, current_step: current_step, f: f %>
-
- <% if wizard.step_can_proceed? %>
- <%= f.govuk_submit(wizard.last_step? ? "Complete sign up" : "Continue") %>
- <% end %>
-
- <% if content_for?(:form_help) %>
-
<%= yield(:form_help) %>
- <% end %>
- <% end %>
-
diff --git a/app/views/teacher_training_adviser/steps/_gcse_maths_english.html.erb b/app/views/teacher_training_adviser/steps/_gcse_maths_english.html.erb
deleted file mode 100644
index a0ef826c7..000000000
--- a/app/views/teacher_training_adviser/steps/_gcse_maths_english.html.erb
+++ /dev/null
@@ -1,21 +0,0 @@
-<% @page_title = "Do you have grade 4 (C) or above in English and maths GCSEs, or equivalent?" %>
-
-<%= f.govuk_collection_radio_buttons :has_gcse_maths_and_english_id, f.object.class::OPTIONS, :last, nil, inline: true %>
-
-
-
-
- What is a GCSE?
-
-
-
- GCSE stands for General Certificate of Secondary Education. It's the part of the National Curriculum taught to pupils aged 14 to 16.
- The Department for Education does not provide a list of qualifications that can be considered equivalent to GCSEs in English, maths and science.
- A training provider will look for evidence that an equivalent qualification:
-
-
meets the standard of GCSE grade 4 (C)
-
covers sufficient content
-
contains the breadth of content equal to that of a GCSE grade 4 (C)
Your details are protected under the terms of our <%= link_to "privacy notice", privacy_policy_path(:id => session[:privacy_policy_id].presence || GetIntoTeachingApiClient::PrivacyPoliciesApi.new.get_latest_privacy_policy.id), target: :blank %>.
-
-
Our privacy notice explains how we use your personal data. It's important you read this before signing up to get support from an adviser.
-<% end %>
diff --git a/app/views/teacher_training_adviser/steps/_no_degree.html.erb b/app/views/teacher_training_adviser/steps/_no_degree.html.erb
deleted file mode 100644
index 27f2fa1e6..000000000
--- a/app/views/teacher_training_adviser/steps/_no_degree.html.erb
+++ /dev/null
@@ -1,10 +0,0 @@
-<% @page_title = "We're sorry, but you need a degree to be eligible for this service" %>
-
-
-
We're sorry, but you need a degree to be eligible for this service
-
-
You need a bachelor’s degree to train to teach in primary, secondary and special schools in England.
-
If you do not already have one, you can <%= link_to_git_site("train to be a qualified teacher as part of your bachelor’s degree", "train-to-be-a-teacher/if-you-dont-have-a-degree", target: "_blank") %>.
-
You can also <%= link_to("teach in further education", "https://www.teach-in-further-education.campaign.gov.uk", target: "_blank") %> without a degree.
-
<%= link_to_git_site("Find out more about the qualifications you need to teach", "is-teaching-right-for-me/qualifications-you-need-to-teach", target: "_blank") %>.
-
diff --git a/app/views/teacher_training_adviser/steps/_overseas_callback.html.erb b/app/views/teacher_training_adviser/steps/_overseas_callback.html.erb
deleted file mode 100644
index 0ccdcbece..000000000
--- a/app/views/teacher_training_adviser/steps/_overseas_callback.html.erb
+++ /dev/null
@@ -1,5 +0,0 @@
-<% @page_title = "Choose a time" %>
-
-<%= f.govuk_fieldset legend: { text: 'Choose a time' } do %>
-<%= f.govuk_select :phone_call_scheduled_at, callback_options(f.object.class.callback_booking_quotas) %>
-<% end %>
diff --git a/app/views/teacher_training_adviser/steps/_overseas_country.html.erb b/app/views/teacher_training_adviser/steps/_overseas_country.html.erb
deleted file mode 100644
index 2af48fa54..000000000
--- a/app/views/teacher_training_adviser/steps/_overseas_country.html.erb
+++ /dev/null
@@ -1,8 +0,0 @@
-<% @page_title = "Which country do you live in?" %>
-
-<%= f.govuk_collection_select :country_id,
- f.object.class.options,
- :last,
- :first,
- label: { tag: "h1", size: "m" }
-%>
diff --git a/app/views/teacher_training_adviser/steps/_overseas_telephone.html.erb b/app/views/teacher_training_adviser/steps/_overseas_telephone.html.erb
deleted file mode 100644
index 24aaf31da..000000000
--- a/app/views/teacher_training_adviser/steps/_overseas_telephone.html.erb
+++ /dev/null
@@ -1,5 +0,0 @@
-<% @page_title = "What is your telephone number?" %>
-
-<%= f.govuk_fieldset legend: { text: 'What is your telephone number?' } do %>
- <%= f.govuk_phone_field :address_telephone, width: 20, prefix_text: "+", value: f.object.address_telephone_value %>
-<% end %>
diff --git a/app/views/teacher_training_adviser/steps/_overseas_time_zone.html.erb b/app/views/teacher_training_adviser/steps/_overseas_time_zone.html.erb
deleted file mode 100644
index 958d4e26e..000000000
--- a/app/views/teacher_training_adviser/steps/_overseas_time_zone.html.erb
+++ /dev/null
@@ -1,28 +0,0 @@
-<% @page_title = "You told us you have an equivalent degree and live overseas" %>
-
-<%= f.govuk_fieldset legend: { text: 'You told us you have an equivalent degree and live overseas' } do %>
-
-<% if f.object.class.callback_booking_quotas.any? %>
-
We need to call you to check your degree. When we call, our adviser will ask for more details about the qualification you have.
-
-
We will call you between 8.30am and 5.30pm (UK time).
Call us on <%= link_to("0800 389 2500", "tel://08003892500") %> between 8.30am and 5.30pm (UK time).
-
When you call, our adviser will ask for more details about the qualification you have.
- <%= f.hidden_field :callback_offered, value: false %>
-<% end %>
-<% end %>
diff --git a/app/views/teacher_training_adviser/steps/_previous_teacher_id.html.erb b/app/views/teacher_training_adviser/steps/_previous_teacher_id.html.erb
deleted file mode 100644
index 06e12488b..000000000
--- a/app/views/teacher_training_adviser/steps/_previous_teacher_id.html.erb
+++ /dev/null
@@ -1,5 +0,0 @@
-<% @page_title = "What is your previous teacher reference number?" %>
-
-<%= f.govuk_fieldset legend: { text: 'What is your previous teacher reference number?' } do %>
- <%= f.govuk_text_field :teacher_id, width: 20 %>
-<% end %>
diff --git a/app/views/teacher_training_adviser/steps/_primary_returner.erb b/app/views/teacher_training_adviser/steps/_primary_returner.erb
deleted file mode 100644
index 60d7c419e..000000000
--- a/app/views/teacher_training_adviser/steps/_primary_returner.erb
+++ /dev/null
@@ -1,21 +0,0 @@
-<% @page_title = "We're sorry, but you are not eligible for this service" %>
-
-
-
-
-
We're sorry, but you are not eligible for this service
-
-
If you already have qualified teacher status (QTS) and are returning to teaching, you must be planning to teach a secondary subject to be eligible for an adviser.
-
You can find out more about getting back into teaching on the Get Into Teaching website.
-
-
Get more advice about:
-
-
-
<%= link_to_git_site("returning to teaching", "returning-to-teaching", target: "_blank") %>
-
<%= link_to_git_site("teaching in England if you qualified outside the UK", "non-uk-teachers/teach-in-england-if-you-trained-overseas", target: "_blank") %>
-
<%= link_to_git_site("returning to England after teaching overseas", "non-uk-teachers/return-to-england-after-teaching-overseas", target: "_blank") %>
-
-
-
You can also search for teaching jobs in England at <%= link_to("Teaching Vacancies", "https://teaching-vacancies.service.gov.uk/", target: "_blank") %>.
-
-
diff --git a/app/views/teacher_training_adviser/steps/_qualification_required.html.erb b/app/views/teacher_training_adviser/steps/_qualification_required.html.erb
deleted file mode 100644
index 1e334ac48..000000000
--- a/app/views/teacher_training_adviser/steps/_qualification_required.html.erb
+++ /dev/null
@@ -1,20 +0,0 @@
-<% @page_title = "Get the right GCSEs or equivalent qualifications" %>
-
-
We're sorry, but you need the right GCSEs to be eligible for this service
-
-
To train to be a teacher, teacher training providers ask you to show your ability through GCSEs. You'll need the following GCSEs (or an equivalent):
-
-
-
grade 4 (C) in maths
-
grade 4 (C) in English
-
grade 4 (C) in science, if you want to teach primary
-
-
-
If you do not have the right GCSEs, you can get them through a GCSE training provider. Make sure when you visit the website, you search for GCSE courses.
-
-
Or, you might be able to take an equivalency test, or offer other evidence to demonstrate your ability in these subjects.
-
-
<%= link_to_git_site("Find out more about the qualifications you need to teach", "is-teaching-right-for-me/qualifications-you-need-to-teach", target: "_blank") %>.
-
-
You can also <%= link_to_git_site("find out more about teaching on the Get Into Teaching website") %>.
-
diff --git a/app/views/teacher_training_adviser/steps/_retake_gcse_maths_english.html.erb b/app/views/teacher_training_adviser/steps/_retake_gcse_maths_english.html.erb
deleted file mode 100644
index bb8be8099..000000000
--- a/app/views/teacher_training_adviser/steps/_retake_gcse_maths_english.html.erb
+++ /dev/null
@@ -1,3 +0,0 @@
-<% @page_title = "Are you planning to retake either English or maths (or both) GCSEs, or equivalent?" %>
-
-<%= f.govuk_collection_radio_buttons :planning_to_retake_gcse_maths_and_english_id, f.object.class::OPTIONS, :last, nil, inline: true %>
diff --git a/app/views/teacher_training_adviser/steps/_retake_gcse_science.html.erb b/app/views/teacher_training_adviser/steps/_retake_gcse_science.html.erb
deleted file mode 100644
index 171475dae..000000000
--- a/app/views/teacher_training_adviser/steps/_retake_gcse_science.html.erb
+++ /dev/null
@@ -1,3 +0,0 @@
-<% @page_title = "Are you planning to retake your science GCSE?" %>
-
-<%= f.govuk_collection_radio_buttons :planning_to_retake_gcse_science_id, f.object.class::OPTIONS, :last, nil, inline: true %>
diff --git a/app/views/teacher_training_adviser/steps/_returning_teacher.html.erb b/app/views/teacher_training_adviser/steps/_returning_teacher.html.erb
deleted file mode 100644
index 479855dc0..000000000
--- a/app/views/teacher_training_adviser/steps/_returning_teacher.html.erb
+++ /dev/null
@@ -1,18 +0,0 @@
-<% @page_title = "Are you qualified to teach?" %>
-
-<%= f.govuk_collection_radio_buttons :type_id, f.object.class::OPTIONS, :last, nil, inline: true %>
-
-
-
-
- What is QTS?
-
-
-
- Qualified teacher status (QTS) is the professional status teachers in England gain at the end of their teacher training.
- If you're already a qualified teacher looking to teach in England, you need English QTS to be eligible for an adviser.
- If you qualified as a teacher outside the UK, you may be able to apply for QTS.
diff --git a/app/views/teacher_training_adviser/steps/_stage_interested_teaching.html.erb b/app/views/teacher_training_adviser/steps/_stage_interested_teaching.html.erb
deleted file mode 100644
index 1091c9349..000000000
--- a/app/views/teacher_training_adviser/steps/_stage_interested_teaching.html.erb
+++ /dev/null
@@ -1,3 +0,0 @@
-<% @page_title = "Which stage are you interested in teaching?" %>
-
-<%= f.govuk_collection_radio_buttons :preferred_education_phase_id, f.object.class::OPTIONS, :last, nil, inline: true, hint: { hidden: f.object.returning_teacher? } %>
diff --git a/app/views/teacher_training_adviser/steps/_stage_of_degree.html.erb b/app/views/teacher_training_adviser/steps/_stage_of_degree.html.erb
deleted file mode 100644
index e22a99e19..000000000
--- a/app/views/teacher_training_adviser/steps/_stage_of_degree.html.erb
+++ /dev/null
@@ -1,4 +0,0 @@
-<% @page_title = "In which year are you studying?" %>
-
-<% options = f.object.class::options %>
-<%= f.govuk_collection_radio_buttons :degree_status_id, options, :last, :first %>
diff --git a/app/views/teacher_training_adviser/steps/_start_teacher_training.html.erb b/app/views/teacher_training_adviser/steps/_start_teacher_training.html.erb
deleted file mode 100644
index cccb47f85..000000000
--- a/app/views/teacher_training_adviser/steps/_start_teacher_training.html.erb
+++ /dev/null
@@ -1,8 +0,0 @@
-<% @page_title = "When do you want to start your teacher training?" %>
-
-<%= f.govuk_collection_select :initial_teacher_training_year_id,
- f.object.years,
- :id,
- :value,
- label: { tag: "h1", size: "m" }
-%>
diff --git a/app/views/teacher_training_adviser/steps/_subject_interested_teaching.html.erb b/app/views/teacher_training_adviser/steps/_subject_interested_teaching.html.erb
deleted file mode 100644
index d4e79b945..000000000
--- a/app/views/teacher_training_adviser/steps/_subject_interested_teaching.html.erb
+++ /dev/null
@@ -1,8 +0,0 @@
-<% @page_title = "What would you like to teach?" %>
-
-<%= f.govuk_collection_select :preferred_teaching_subject_id,
- f.object.class.options,
- :last,
- :first,
- label: { tag: "h1", size: "m" }
-%>
diff --git a/app/views/teacher_training_adviser/steps/_subject_like_to_teach.html.erb b/app/views/teacher_training_adviser/steps/_subject_like_to_teach.html.erb
deleted file mode 100644
index ddaae54e1..000000000
--- a/app/views/teacher_training_adviser/steps/_subject_like_to_teach.html.erb
+++ /dev/null
@@ -1,8 +0,0 @@
-<% @page_title = "Which subject would you like to teach if you return to teaching?" %>
-
-<%= f.govuk_collection_select :preferred_teaching_subject_id,
- f.object.class.options,
- :last,
- :first,
- label: { tag: "h1", size: "m" }
-%>
diff --git a/app/views/teacher_training_adviser/steps/_subject_taught.html.erb b/app/views/teacher_training_adviser/steps/_subject_taught.html.erb
deleted file mode 100644
index 6be05c42e..000000000
--- a/app/views/teacher_training_adviser/steps/_subject_taught.html.erb
+++ /dev/null
@@ -1,8 +0,0 @@
-<% @page_title = "Which main subject did you previously teach?" %>
-
-<%= f.govuk_collection_select :subject_taught_id,
- f.object.class.options,
- :last,
- :first,
- label: { tag: "h1", size: "m" }
-%>
diff --git a/app/views/teacher_training_adviser/steps/_uk_address.html.erb b/app/views/teacher_training_adviser/steps/_uk_address.html.erb
deleted file mode 100644
index 00e3dab0b..000000000
--- a/app/views/teacher_training_adviser/steps/_uk_address.html.erb
+++ /dev/null
@@ -1,5 +0,0 @@
-<% @page_title = "What is your postcode?" %>
-
-<%= f.govuk_text_field :address_postcode, width: 20, label: { text: @page_title, size: "m", tag: "h1" } do %>
-
We try and match you with an adviser providing support in your region.
-<% end %>
diff --git a/app/views/teacher_training_adviser/steps/_uk_callback.html.erb b/app/views/teacher_training_adviser/steps/_uk_callback.html.erb
deleted file mode 100644
index 278c094d9..000000000
--- a/app/views/teacher_training_adviser/steps/_uk_callback.html.erb
+++ /dev/null
@@ -1,21 +0,0 @@
-<% @page_title = "You told us you have an equivalent degree and live in the United Kingdom" %>
-
-<%= f.govuk_fieldset legend: { text: 'You told us you have an equivalent degree and live in the United Kingdom' } do %>
-
-
-<% if f.object.class.callback_booking_quotas.any? %>
-
You need to book a callback with us to check your degree. We will contact you once your call is booked.
-
You must have the details of your overseas qualifications when we contact you.
Call us on <%= link_to("0800 389 2500", "tel://08003892500") %> between 8.30am and 5.30pm (UK time).
-
Please have the details of your overseas qualifications to hand when you call.
- <%= f.hidden_field :callback_offered, value: false %>
-<% end %>
-<% end %>
diff --git a/app/views/teacher_training_adviser/steps/_uk_or_overseas.html.erb b/app/views/teacher_training_adviser/steps/_uk_or_overseas.html.erb
deleted file mode 100644
index 3337054e5..000000000
--- a/app/views/teacher_training_adviser/steps/_uk_or_overseas.html.erb
+++ /dev/null
@@ -1,3 +0,0 @@
-<% @page_title = "Where do you live?" %>
-
-<%= f.govuk_collection_radio_buttons :uk_or_overseas, [["UK"], ["Overseas"]], :first, inline: true %>
diff --git a/app/views/teacher_training_adviser/steps/_uk_telephone.html.erb b/app/views/teacher_training_adviser/steps/_uk_telephone.html.erb
deleted file mode 100644
index a952ae298..000000000
--- a/app/views/teacher_training_adviser/steps/_uk_telephone.html.erb
+++ /dev/null
@@ -1,5 +0,0 @@
-<% @page_title = "What is your telephone number?" %>
-
-<%= f.govuk_fieldset legend: { text: 'What is your telephone number?' } do %>
- <%= f.govuk_phone_field :address_telephone, width: 20 %>
-<% end %>
diff --git a/app/views/teacher_training_adviser/steps/_what_degree_class.html.erb b/app/views/teacher_training_adviser/steps/_what_degree_class.html.erb
deleted file mode 100644
index cd7d74a8c..000000000
--- a/app/views/teacher_training_adviser/steps/_what_degree_class.html.erb
+++ /dev/null
@@ -1,16 +0,0 @@
-<%
-if f.object.studying?
- text = "What degree class are you predicted to get?"
-else
- text = "Which class is your degree?"
-end
-%>
-
-<% @page_title = text %>
-
-<%= f.govuk_collection_select :uk_degree_grade_id,
- f.object.class.options,
- :last,
- :first,
- label: { text: text, tag: "h1", size: "m" }
-%>
diff --git a/app/views/teacher_training_adviser/steps/_what_subject_degree.html.erb b/app/views/teacher_training_adviser/steps/_what_subject_degree.html.erb
deleted file mode 100644
index 913d50ee2..000000000
--- a/app/views/teacher_training_adviser/steps/_what_subject_degree.html.erb
+++ /dev/null
@@ -1,8 +0,0 @@
-<% @page_title = "What subject is your degree?" %>
-
-<%= f.govuk_collection_select :degree_subject,
- f.object.class.options,
- :first,
- :first,
- label: { tag: "h1", size: "m" }
-%>
diff --git a/app/views/teacher_training_adviser/steps/completed.html.erb b/app/views/teacher_training_adviser/steps/completed.html.erb
deleted file mode 100644
index d924932a0..000000000
--- a/app/views/teacher_training_adviser/steps/completed.html.erb
+++ /dev/null
@@ -1,64 +0,0 @@
-<% @page_title = "Sign up complete" %>
-
-
">
-
-
-
-
-
- Thank you Sign up complete
-
-
-
What happens next
-
- <% if @returner %>
-
- A return to teaching adviser will email you to outline your next steps.
-
-
We’re getting a lot of requests for advisers at the moment so it might take us longer to respond. We'll be in touch as soon as we can. Thank you for your patience.
-
- <% elsif @callback_booked %>
-
- We've booked a call. We will be in contact with you at the time you selected.
-
-
- If we are unable to contact you at this time, we will try to contact you a further 2 times. If we are still unable to contact you, you will have to sign up again.
-
- <% elsif @equivalent %>
-
Please give us a call so that we can check your degree.
- <% else %>
-
An adviser will email you within 3 working days.
-
-
You need to reply to the email to be assigned an adviser.
-
-
It may take us longer to respond to you because we're getting a lot of requests for advisers at the moment. We’ll be in touch as soon as we can. Thank you for your patience.
- <% end %>
-
-
Understanding your options
-
-
As well as an adviser, you can find help and guidance on the Get Into Teaching website. There, you can:
-
-
-
discover the different <%= link_to_git_site "ways to train", "train-to-be-a-teacher" %> to become a teacher
-
find out about <%= link_to_git_site "funding", "funding-and-support" %>
-
<%= link_to_git_site "search for events", "events" %> that might interest you
- <% if @returner %>
-
read further information on our dedicated <%= link_to_git_site "return to teaching page", "returning-to-teaching" %>
- <% end %>
-
-
- <% if @returner %>
-
You can also search for courses on <%= link_to("Find postgraduate teacher training", "https://www.gov.uk/find-postgraduate-teacher-training-courses") %>.
- <% end %>
-
-
- If you have any questions or you need to update any of the information you provided, call 0800 389 2500 for free between 8.30am and 5.30pm Monday to Friday.
-
-
-
- <%= link_to("What did you think of this service?", new_teacher_training_adviser_feedback_path, target: :blank) %> (takes 30 seconds)
-
Check your spam or junk folder if you cannot find the email.
-
<%= link_to("Send another code to verify my details.", resend_verification_path) %>
-<% end %>
diff --git a/app/webpacker/controllers/cookie-acceptance_controller.js b/app/webpacker/controllers/cookie-acceptance_controller.js
deleted file mode 100644
index ed28d0e29..000000000
--- a/app/webpacker/controllers/cookie-acceptance_controller.js
+++ /dev/null
@@ -1,42 +0,0 @@
-import CookiePreferences from "../javascript/cookie_preferences"
-import { Controller } from "@hotwired/stimulus"
-
-export default class extends Controller {
- static targets = ["banner", "accept"];
-
- connect() {
- if (!this.isPreferencesPage()) {
- this.checkforCookie();
- }
- }
-
- checkforCookie() {
- const cookiePrefs = new CookiePreferences() ;
- if (cookiePrefs.cookieSet)
- return ;
-
- this.showBanner();
- }
-
- allowAll(event) {
- event.preventDefault();
- this.element.classList.add('accepted') ;
-
- const cookiePrefs = new CookiePreferences() ;
- cookiePrefs.allowAll() ;
- }
-
- showBanner() {
- this.element.classList.remove('hide') ;
- }
-
- isPreferencesPage() {
- const path = window.location.href.replace(/^https?:\/\/[^/]+/, '')
- return (path == "/cookie_preference") ;
- }
-
- hideCookieBanner(event) {
- event.preventDefault() ;
- this.element.classList.add('hide') ;
- }
-}
diff --git a/app/webpacker/controllers/cookie_preferences_controller.js b/app/webpacker/controllers/cookie_preferences_controller.js
deleted file mode 100644
index 97e8c58cf..000000000
--- a/app/webpacker/controllers/cookie_preferences_controller.js
+++ /dev/null
@@ -1,53 +0,0 @@
-import CookiePreferences from '../javascript/cookie_preferences';
-import { Controller } from '@hotwired/stimulus';
-
-export default class extends Controller {
- static targets = ['category'];
-
- connect() {
- this.cookiePreferences = new CookiePreferences();
- this.assignRadios();
- }
-
- assignRadios() {
- for (const category of this.categoryTargets) {
- const categoryName = category.getAttribute('data-category');
- const allowed = this.cookiePreferences.allowed(categoryName);
- const value = allowed ? '1' : '0';
- const radio = category.querySelector(
- 'input[type="radio"][value="' + value + '"]'
- );
-
- if (radio) radio.checked = true;
- }
- }
-
- toggle(_event) {
- this.data.set('save-state', 'unsaved');
- }
-
- save(event) {
- event.preventDefault();
-
- const categories = this.categoryTargets.reduce((acc, fieldset) => {
- const category = fieldset.getAttribute('data-category');
- const field = fieldset.querySelector('input[type="radio"]:checked');
-
- if (field) {
- return { ...acc, [category]: field.value };
- } else {
- return acc;
- }
- }, {});
-
- this.cookiePreferences.setCategories(categories);
-
- this.data.set('save-state', 'saving');
- window.setTimeout(this.finishSave.bind(this), 600);
- }
-
- finishSave() {
- if (this.data.get('save-state') === 'saving')
- this.data.set('save-state', 'saved');
- }
-}
diff --git a/app/webpacker/controllers/index.js b/app/webpacker/controllers/index.js
deleted file mode 100644
index 6f53d84bb..000000000
--- a/app/webpacker/controllers/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// Load all the controllers within this directory and all subdirectories.
-// Controller files must be named *_controller.js.
-
-import { Application } from "stimulus"
-import { definitionsFromContext } from "stimulus/webpack-helpers"
-
-const application = Application.start()
-const context = require.context("controllers", true, /_controller\.js$/)
-application.load(definitionsFromContext(context))
diff --git a/app/webpacker/javascript/cookie_preferences.js b/app/webpacker/javascript/cookie_preferences.js
deleted file mode 100644
index ea3027147..000000000
--- a/app/webpacker/javascript/cookie_preferences.js
+++ /dev/null
@@ -1,156 +0,0 @@
-const Cookies = require('js-cookie');
-
-export default class CookiePreferences {
- static cookieBaseName = 'gta-cookie-preferences';
- static cookieVersion = 1;
- static cookieLifetimeInDays = 90;
- static alwaysOnCategory = 'functional';
- static allCategories = {
- functional: true,
- 'non-functional': true,
- marketing: true,
- };
-
- static functionalCookies = [
- 'gta-cookie-preferences-v1',
- '_dfe_session',
- 'GiTBetaBannerCovid',
- ];
-
- settings = null;
- cookieSet = false;
-
- constructor() {
- this.readCookie();
- }
-
- static get cookieName() {
- return (
- CookiePreferences.cookieBaseName + '-v' + CookiePreferences.cookieVersion
- );
- }
-
- static get cookieDomains() {
- const hostname = window.location.hostname;
- const rootDomain = hostname.replace(/(.*?)\./, '');
-
- return [hostname, `.${hostname}`, rootDomain, `.${rootDomain}`];
- }
-
- static clearCookie(key) {
- CookiePreferences.cookieDomains.forEach((domain) =>
- Cookies.remove(key, { domain })
- );
- }
-
- readCookie() {
- const cookie = Cookies.get(CookiePreferences.cookieName);
- if (typeof cookie === 'undefined' || !cookie) {
- this.settings = {};
- } else {
- this.settings = JSON.parse(cookie);
- this.cookieSet = true;
- }
-
- this.settings[CookiePreferences.alwaysOnCategory] = true;
- }
-
- writeCookie(categories) {
- categories[CookiePreferences.alwaysOnCategory] = true;
- const serialized = JSON.stringify(categories);
- Cookies.set(CookiePreferences.cookieName, serialized, {
- expires: CookiePreferences.cookieLifetimeInDays,
- sameSite: 'Lax',
- });
-
- this.cookieSet = true;
- }
-
- get all() {
- return this.settings;
- }
-
- allowed(category) {
- return this.settings[category] || false;
- }
-
- get categories() {
- if (this.settings) return Object.keys(this.settings);
- else return [];
- }
-
- set all(categories) {
- const existingAllowed = this.allowedCategories;
-
- this.writeCookie(categories);
- this.readCookie();
-
- const newlyAllowed = this.allowedCategories.filter(
- (category) => !existingAllowed.includes(category)
- );
-
- this.emitEvent(newlyAllowed);
- this.sendMetric();
- }
-
- clearNonEssentialCookies() {
- Object.keys(Cookies.get()).forEach((key) => {
- if (!CookiePreferences.functionalCookies.includes(key)) {
- CookiePreferences.clearCookie(key);
- }
- });
- }
-
- setCategories(categories) {
- for (const [key, value] of Object.entries(categories)) {
- categories[key] = this.boolValue(value);
- }
-
- const newSettings = { ...this.settings, ...categories };
- const optingOut = Object.keys(categories).some((category) => {
- return !categories[category] && this.settings[category];
- });
-
- if (optingOut) {
- this.clearNonEssentialCookies();
- }
-
- this.all = newSettings;
- }
-
- get allowedCategories() {
- return this.categories.filter((category) => this.allowed(category));
- }
-
- boolValue(value) {
- const strValue = value.toString();
- return strValue === '1' || strValue === 'true' || strValue === 'yes';
- }
-
- sendMetric() {
- const xhr = new XMLHttpRequest();
- const data = JSON.stringify({
- key: 'tta_client_cookie_consent_total',
- labels: {
- non_functional: this.allowed('non-functional'),
- marketing: this.allowed('marketing'),
- },
- });
-
- xhr.open('POST', '/client_metrics', true);
- xhr.setRequestHeader('Content-Type', 'application/json');
- xhr.send(data);
- }
-
- emitEvent(newCategories) {
- const acceptedCookies = new CustomEvent('cookies:accepted', {
- detail: { cookies: newCategories },
- });
-
- document.dispatchEvent(acceptedCookies);
- }
-
- allowAll() {
- this.all = CookiePreferences.allCategories;
- }
-}
diff --git a/app/webpacker/javascript/gtm.js b/app/webpacker/javascript/gtm.js
deleted file mode 100644
index 40e8f0a22..000000000
--- a/app/webpacker/javascript/gtm.js
+++ /dev/null
@@ -1,78 +0,0 @@
-import CookiePreferences from '../javascript/cookie_preferences';
-
-export default class Gtm {
- constructor(id) {
- this.id = id;
- }
-
- init() {
- this.initWindow();
- this.sendDefaultConsent();
- this.initContainer();
- this.listenForConsentChanges();
- this.listenForHistoryChange();
- }
-
- initWindow() {
- window.dataLayer = window.dataLayer || [];
-
- // We use this to retain Google Ads tracking parameters in the
- // URL of the landing page (or they are subsequently lost when
- // Turbolinks transitions).
- window.dataLayer.push({ originalLocation: this.originalLocation });
-
- function gtag() {
- window.dataLayer.push(arguments);
- }
-
- window.gtag = window.gtag || gtag;
- }
-
- initContainer() {
- (function (w, d, s, l, i) {
- w[l] = w[l] || [];
- w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' });
- const f = d.getElementsByTagName(s)[0];
- const j = d.createElement(s);
- const dl = l !== 'dataLayer' ? '&l=' + l : '';
- j.async = true;
- j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
- f.parentNode.insertBefore(j, f);
- })(window, document, 'script', 'dataLayer', this.id);
- }
-
- listenForConsentChanges() {
- document.addEventListener('cookies:accepted', () => {
- window.gtag('consent', 'update', this.consent());
- });
- }
-
- listenForHistoryChange() {
- document.addEventListener('turbolinks:load', () => {
- window.gtag('set', 'page_path', window.location.pathname);
- window.gtag('event', 'page_view');
- });
- }
-
- sendDefaultConsent() {
- window.gtag('consent', 'default', this.consent());
- }
-
- consent() {
- return {
- analytics_storage: this.consentValue('non-functional'),
- ad_storage: this.consentValue('marketing'),
- };
- }
-
- consentValue(category) {
- return new CookiePreferences().allowedCategories.includes(category)
- ? 'granted'
- : 'denied';
- }
-
- get originalLocation() {
- const l = window.location;
- return `${l.protocol}://${l.hostname}${l.pathname}${l.search}`;
- }
-}
diff --git a/app/webpacker/packs/application.js b/app/webpacker/packs/application.js
deleted file mode 100644
index c99a6fc48..000000000
--- a/app/webpacker/packs/application.js
+++ /dev/null
@@ -1,15 +0,0 @@
-require.context("govuk-frontend/govuk/assets");
-
-import "../styles/application.scss";
-import Rails from "@rails/ujs";
-import Turbolinks from "turbolinks";
-import { initAll } from "govuk-frontend";
-
-// Required by GOV.UK front-end
-document.body.className = ((document.body.className) ? document.body.className + ' js-enabled' : 'js-enabled');
-
-Rails.start();
-Turbolinks.start();
-initAll();
-
-import "controllers"
diff --git a/app/webpacker/packs/gtm.js b/app/webpacker/packs/gtm.js
deleted file mode 100644
index 23d460c19..000000000
--- a/app/webpacker/packs/gtm.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import Gtm from '../javascript/gtm'
-
-const gtmId = document.querySelector("[data-gtm-id]").dataset.gtmId
-
-if (gtmId) {
- const gtm = new Gtm(gtmId)
- gtm.init()
-}
diff --git a/app/webpacker/styles/application.scss b/app/webpacker/styles/application.scss
deleted file mode 100644
index 72f0488a8..000000000
--- a/app/webpacker/styles/application.scss
+++ /dev/null
@@ -1,64 +0,0 @@
-@function frontend-font-url($filename) {
- @return url("~assets/fonts/" + $filename);
-}
-
-@function frontend-image-url($filename) {
- @return url("~assets/images/" + $filename);
-}
-
-$govuk-font-url-function: frontend-font-url;
-$govuk-image-url-function: frontend-image-url;
-$govuk-global-styles: true;
-
-@import "~govuk-frontend/govuk/all";
-
-.auto-width {
- width: auto;
-}
-
-.hidden {
- display: none;
-}
-
-.no-margin {
- margin: 0;
- padding: 0;
-}
-
-.visually-hidden {
- clip: rect(0 0 0 0);
- clip-path: inset(50%);
- height: 1px;
- overflow: hidden;
- position: absolute;
- white-space: nowrap;
- width: 1px;
-}
-
-.turbolinks-progress-bar {
- height: 5px;
- background-color: #0076bd;
-}
-
-@import 'cookie-banner' ;
-
-[data-controller="cookie-preferences"] {
- .save-with-confirmation button {
- vertical-align: baseline;
- @include govuk-responsive-margin(2, "bottom");
- @include govuk-responsive-margin(2, "right");
- }
-
- .save-with-confirmation__message {
- display: none;
- vertical-align: baseline;
- color: govuk-colour("green") ;
- @include govuk-responsive-margin(5, "bottom");
- }
-
- &[data-cookie-preferences-save-state-value="saved"] .save-with-confirmation__message {
- display: inline-block ;
- }
-}
-
-
diff --git a/app/webpacker/styles/cookie-banner.scss b/app/webpacker/styles/cookie-banner.scss
deleted file mode 100644
index d4c68283c..000000000
--- a/app/webpacker/styles/cookie-banner.scss
+++ /dev/null
@@ -1,48 +0,0 @@
-#cookie-banner {
- background-color: lighten(govuk-colour("blue"), 55%);
- padding: 0.6rem 0rem 0.4rem;
-
- #cookie-banner-message, #cookie-banner-flash {
- > p {
- color: $govuk-text-colour;
-
- > a {
- // darken when hovering because the light blue background doesn't
- // provide enough contrast
- &:hover {
- color: darken($govuk-link-colour, 15%);
- }
- }
- }
-
- @include govuk-media-query($from: tablet) {
- form {
- display: inline-block;
- margin-right: 1em;
- }
-
- div.govuk-grid-column-one-third {
- text-align: right;
- }
- }
-
- @include govuk-media-query($until: tablet) {
- div.govuk-grid-column-one-third {
- margin-top: govuk-spacing(2);
- }
- }
- }
-
- #cookie-banner-flash {
- display: none ;
- }
-
- &.hide {
- display: none ;
- }
-
- &.accepted {
- #cookie-banner-message { display: none }
- #cookie-banner-flash { display: block }
- }
-}
diff --git a/babel.config.js b/babel.config.js
deleted file mode 100644
index 296b1a6d0..000000000
--- a/babel.config.js
+++ /dev/null
@@ -1,70 +0,0 @@
-module.exports = function (api) {
- var validEnv = ['development', 'test', 'production'];
- var currentEnv = api.env();
- var isDevelopmentEnv = api.env('development');
- var isProductionEnv = api.env('production');
- var isTestEnv = api.env('test');
-
- if (!validEnv.includes(currentEnv)) {
- throw new Error(
- 'Please specify a valid `NODE_ENV` or ' +
- '`BABEL_ENV` environment variables. Valid values are "development", ' +
- '"test", and "production". Instead, received: ' +
- JSON.stringify(currentEnv) +
- '.'
- );
- }
-
- return {
- presets: [
- isTestEnv && [
- require('@babel/preset-env').default,
- {
- targets: {
- node: 'current'
- }
- }
- ],
- (isProductionEnv || isDevelopmentEnv) && [
- require('@babel/preset-env').default,
- {
- forceAllTransforms: true,
- useBuiltIns: 'entry',
- modules: false,
- corejs: "3.0.0",
- exclude: ['transform-typeof-symbol']
- }
- ]
- ].filter(Boolean),
- plugins: [
- require('babel-plugin-macros'),
- require('@babel/plugin-syntax-dynamic-import').default,
- require('@babel/plugin-transform-destructuring').default,
- [
- require('@babel/plugin-proposal-class-properties').default,
- {
- loose: true
- }
- ],
- [
- require('@babel/plugin-proposal-object-rest-spread').default,
- {
- useBuiltIns: true
- }
- ],
- [
- require('@babel/plugin-transform-runtime').default,
- {
- helpers: false,
- regenerator: true
- }
- ],
- [
- require('@babel/plugin-transform-regenerator').default,
- {
- async: false
- }
- ]
- ].filter(Boolean)
- };
-};
diff --git a/bin/.gitkeep b/bin/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/bin/bundle b/bin/bundle
deleted file mode 100755
index f19acf5b5..000000000
--- a/bin/bundle
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env ruby
-ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
-load Gem.bin_path('bundler', 'bundle')
diff --git a/bin/rails b/bin/rails
deleted file mode 100755
index efc037749..000000000
--- a/bin/rails
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env ruby
-APP_PATH = File.expand_path("../config/application", __dir__)
-require_relative "../config/boot"
-require "rails/commands"
diff --git a/bin/rake b/bin/rake
deleted file mode 100755
index 4fbf10b96..000000000
--- a/bin/rake
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env ruby
-require_relative "../config/boot"
-require "rake"
-Rake.application.run
diff --git a/bin/setup b/bin/setup
deleted file mode 100755
index 611b8d05e..000000000
--- a/bin/setup
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env ruby
-require "fileutils"
-
-# path to your application root.
-APP_ROOT = File.expand_path("..", __dir__)
-
-def system!(*args)
- system(*args) || abort("\n== Command #{args} failed ==")
-end
-
-FileUtils.chdir APP_ROOT do
- # This script is a way to set up or update your development environment automatically.
- # This script is idempotent, so that you can run it at any time and get an expectable outcome.
- # Add necessary setup steps to this file.
-
- puts "== Installing dependencies =="
- system! "gem install bundler --conservative"
- system("bundle check") || system!("bundle install")
-
- # Install JavaScript dependencies
- system!("bin/yarn")
-
- # puts "\n== Copying sample files =="
- # unless File.exist?("config/database.yml")
- # FileUtils.cp "config/database.yml.sample", "config/database.yml"
- # end
-
- puts "\n== Preparing database =="
- system! "bin/rails db:prepare"
-
- puts "\n== Removing old logs and tempfiles =="
- system! "bin/rails log:clear tmp:clear"
-
- puts "\n== Restarting application server =="
- system! "bin/rails restart"
-end
diff --git a/bin/spring b/bin/spring
deleted file mode 100755
index fb2ec2ebb..000000000
--- a/bin/spring
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/env ruby
-
-# This file loads spring without using Bundler, in order to be fast.
-# It gets overwritten when you run the `spring binstub` command.
-
-unless defined?(Spring)
- require 'rubygems'
- require 'bundler'
-
- lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read)
- spring = lockfile.specs.detect { |spec| spec.name == "spring" }
- if spring
- Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path
- gem 'spring', spring.version
- require 'spring/binstub'
- end
-end
diff --git a/bin/update b/bin/update
deleted file mode 100755
index 58bfaed51..000000000
--- a/bin/update
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/env ruby
-require 'fileutils'
-include FileUtils
-
-# path to your application root.
-APP_ROOT = File.expand_path('..', __dir__)
-
-def system!(*args)
- system(*args) || abort("\n== Command #{args} failed ==")
-end
-
-chdir APP_ROOT do
- # This script is a way to update your development environment automatically.
- # Add necessary update steps to this file.
-
- puts '== Installing dependencies =='
- system! 'gem install bundler --conservative'
- system('bundle check') || system!('bundle install')
-
- # Install JavaScript dependencies if using Yarn
- # system('bin/yarn')
-
- puts "\n== Updating database =="
- system! 'bin/rails db:migrate'
-
- puts "\n== Removing old logs and tempfiles =="
- system! 'bin/rails log:clear tmp:clear'
-
- puts "\n== Restarting application server =="
- system! 'bin/rails restart'
-end
diff --git a/bin/webpacker b/bin/webpacker
deleted file mode 100755
index e92c8b688..000000000
--- a/bin/webpacker
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/env ruby
-
-ENV["RAILS_ENV"] ||= "development"
-ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", __FILE__)
-
-require "bundler/setup"
-require "webpacker"
-require "webpacker/webpack_runner"
-
-APP_ROOT = File.expand_path("..", __dir__)
-Dir.chdir(APP_ROOT) do
- Webpacker::WebpackRunner.run(ARGV)
-end
diff --git a/bin/webpacker-dev-server b/bin/webpacker-dev-server
deleted file mode 100755
index c7bc0ff27..000000000
--- a/bin/webpacker-dev-server
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/env ruby
-
-ENV["RAILS_ENV"] ||= "development"
-ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", __FILE__)
-
-require "bundler/setup"
-require "webpacker"
-require "webpacker/dev_server_runner"
-
-APP_ROOT = File.expand_path("..", __dir__)
-Dir.chdir(APP_ROOT) do
- Webpacker::DevServerRunner.run(ARGV)
-end
diff --git a/bin/yarn b/bin/yarn
deleted file mode 100755
index fe7338622..000000000
--- a/bin/yarn
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env ruby
-
-APP_ROOT = File.expand_path("..", __dir__)
-Dir.chdir(APP_ROOT) do
- yarn = ENV["PATH"].split(File::PATH_SEPARATOR).
- select { |dir| File.expand_path(dir) != __dir__ }.
- product(["yarn", "yarnpkg", "yarn.cmd", "yarn.ps1"]).
- map { |dir, file| File.expand_path(file, dir) }.
- find { |file| File.executable?(file) }
-
- if yarn
- exec yarn, *ARGV
- else
- $stderr.puts "Yarn executable was not detected in the system."
- $stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install"
- exit 1
- end
-end
diff --git a/config.ru b/config.ru
deleted file mode 100644
index d8912ce6a..000000000
--- a/config.ru
+++ /dev/null
@@ -1,10 +0,0 @@
-# This file is used by Rack-based servers to start the application.
-
-require_relative 'config/environment'
-
-require 'prometheus/middleware/exporter'
-
-use Rack::Deflater
-use Prometheus::Middleware::Exporter
-
-run Rails.application
diff --git a/config/analytics.yml b/config/analytics.yml
deleted file mode 100644
index ffad1852f..000000000
--- a/config/analytics.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-shared:
- feedbacks:
- - id
- - rating
- - successful_visit
- - created_at
- - updated_at
diff --git a/config/analytics_blocklist.yml b/config/analytics_blocklist.yml
deleted file mode 100644
index 66f180206..000000000
--- a/config/analytics_blocklist.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-:shared:
- :feedbacks:
- - unsuccessful_visit_explanation
- - improvements
diff --git a/config/analytics_pii.yml b/config/analytics_pii.yml
deleted file mode 100644
index 3a42532a1..000000000
--- a/config/analytics_pii.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-shared: {}
diff --git a/config/application.rb b/config/application.rb
deleted file mode 100644
index 091214e75..000000000
--- a/config/application.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-require_relative "boot"
-
-require "rails"
-# Pick the frameworks you want:
-require "active_model/railtie"
-require "active_job/railtie"
-require "active_record/railtie"
-# require "active_storage/engine"
-require "action_controller/railtie"
-require "action_mailer/railtie"
-# require "action_mailbox/engine"
-# require "action_text/engine"
-require "action_view/railtie"
-# require "action_cable/engine"
-require "rails/test_unit/railtie"
-
-# Require the gems listed in Gemfile, including any gems
-# you've limited to :test, :development, or :production.
-Bundler.require(*Rails.groups)
-
-module GetIntoTeachingRegister
- class Application < Rails::Application
- # Initialize configuration defaults for originally generated Rails version.
- config.load_defaults 7.0
-
- # Configuration for the application, engines, and railties goes here.
- #
- # These settings can be overridden in specific environments using the files
- # in config/environments, which are processed later.
- #
- # config.time_zone = "Central Time (US & Canada)"
- # config.eager_load_paths << Rails.root.join("extras")
- end
-end
diff --git a/config/autoprefixer.yml b/config/autoprefixer.yml
deleted file mode 100644
index 902fe7682..000000000
--- a/config/autoprefixer.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-flexbox: no-2009
-browsers:
- - "> 1%"
- - "last 2 versions"
- - "IE >= 8"
diff --git a/config/boot.rb b/config/boot.rb
deleted file mode 100644
index 988a5ddc4..000000000
--- a/config/boot.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
-
-require "bundler/setup" # Set up gems listed in the Gemfile.
-require "bootsnap/setup" # Speed up boot time by caching expensive operations.
diff --git a/config/database.yml b/config/database.yml
deleted file mode 100644
index 998713943..000000000
--- a/config/database.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-default: &default
- adapter: postgresql
- encoding: unicode
- pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
- timeout: 5000
-
-development:
- <<: *default
- database: get_tta_service_dev
-
-test:
- <<: *default
- database: get_tta_service_test<%= ENV['TEST_ENV_NUMBER'] %>
-
-production: &production
- <<: *default
- url: <%= Rails.application.config.x.vcap_services.dig("postgres", 0, "credentials", "uri") %>
-
-rolling:
- <<: *production
-
-preprod:
- <<: *production
diff --git a/config/environment.rb b/config/environment.rb
deleted file mode 100644
index cac531577..000000000
--- a/config/environment.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-# Load the Rails application.
-require_relative "application"
-
-# Initialize the Rails application.
-Rails.application.initialize!
diff --git a/config/environments/development.rb b/config/environments/development.rb
deleted file mode 100644
index 57a49a7e9..000000000
--- a/config/environments/development.rb
+++ /dev/null
@@ -1,75 +0,0 @@
-require "active_support/core_ext/integer/time"
-
-Rails.application.configure do
- # Settings specified here will take precedence over those in config/application.rb.
-
- # In the development environment your application's code is reloaded any time
- # it changes. This slows down response time but is perfect for development
- # since you don't have to restart the web server when you make code changes.
- config.cache_classes = false
-
- # Do not eager load code on boot.
- config.eager_load = false
-
- # Show full error reports.
- config.consider_all_requests_local = true
-
- # Enable server timing
- config.server_timing = true
-
- # Use in-memory cache
- config.cache_store = :memory_store
-
- # Enable/disable caching. By default caching is disabled.
- # Run rails dev:cache to toggle caching.
- if Rails.root.join("tmp/caching-dev.txt").exist?
- config.action_controller.perform_caching = true
- config.action_controller.enable_fragment_cache_logging = true
-
- config.public_file_server.headers = {
- "Cache-Control" => "public, max-age=#{2.days.to_i}",
- }
- else
- config.action_controller.perform_caching = false
- end
-
- # Don't care if the mailer can't send.
- config.action_mailer.raise_delivery_errors = false
-
- config.action_mailer.perform_caching = false
-
- # Print deprecation notices to the Rails logger.
- config.active_support.deprecation = :log
-
- # Raise exceptions for disallowed deprecations.
- config.active_support.disallowed_deprecation = :raise
-
- # Tell Active Support which deprecation messages to disallow.
- config.active_support.disallowed_deprecation_warnings = []
-
- # Raise an error on page load if there are pending migrations.
- config.active_record.migration_error = :page_load
-
- # Highlight code that triggered database queries in logs.
- config.active_record.verbose_query_logs = true
-
- # Raises error for missing translations.
- # config.i18n.raise_on_missing_translations = true
-
- # Annotate rendered view with file names.
- # config.action_view.annotate_rendered_view_with_filenames = true
-
- # Uncomment if you wish to allow Action Cable access from any origin.
- # config.action_cable.disable_request_forgery_protection = true
-
- config.session_store :cache_store,
- key: "_dfe_session",
- same_site: :lax,
- expire_after: 1.day
-
- config.x.git_api_endpoint = "https://get-into-teaching-api-dev.london.cloudapps.digital"
- config.x.enable_beta_redirects = false
- config.x.api_client_cache_store = ActiveSupport::Cache::MemoryStore.new
- config.x.basic_auth = ENV["BASIC_AUTH"]
- config.x.dfe_analytics = true
-end
diff --git a/config/environments/preprod.rb b/config/environments/preprod.rb
deleted file mode 100644
index 5195f390f..000000000
--- a/config/environments/preprod.rb
+++ /dev/null
@@ -1,8 +0,0 @@
-# Just use the production settings
-require File.expand_path("production.rb", __dir__)
-
-Rails.application.configure do
- config.x.git_api_endpoint = "https://get-into-teaching-api-test.london.cloudapps.digital"
- config.x.enable_beta_redirects = false
- config.x.dfe_analytics = true
-end
diff --git a/config/environments/production.rb b/config/environments/production.rb
deleted file mode 100644
index aaa2abf49..000000000
--- a/config/environments/production.rb
+++ /dev/null
@@ -1,108 +0,0 @@
-require "active_support/core_ext/integer/time"
-
-Rails.application.configure do
- # Settings specified here will take precedence over those in config/application.rb.
-
- # Code is not reloaded between requests.
- config.cache_classes = true
-
- # Eager load code on boot. This eager loads most of Rails and
- # your application in memory, allowing both threaded web servers
- # and those relying on copy on write to perform better.
- # Rake tasks automatically ignore this option for performance.
- config.eager_load = true
-
- # Full error reports are disabled and caching is turned on.
- config.consider_all_requests_local = false
- config.action_controller.perform_caching = true
-
- # Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"]
- # or in config/master.key. This key is used to decrypt credentials (and other encrypted files).
- # config.require_master_key = true
-
- # Disable serving static files from the `/public` folder by default since
- # Apache or NGINX already handles this.
- config.public_file_server.enabled = ENV["RAILS_SERVE_STATIC_FILES"].present?
-
- # Enable serving of images, stylesheets, and JavaScripts from an asset server.
- # config.asset_host = "http://assets.example.com"
-
- # Specifies the header that your server uses for sending files.
- # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for Apache
- # config.action_dispatch.x_sendfile_header = "X-Accel-Redirect" # for NGINX
-
- # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
- unless ENV["SKIPSSL"].in? %w[1 true yes]
- config.force_ssl = true
- end
-
- # Include generic and useful information about system operation, but avoid logging too much
- # information to avoid inadvertent exposure of personally identifiable information (PII).
- config.log_level = :info
-
- # Prepend all log lines with the following tags.
- config.log_tags = [:request_id]
-
- # Use a different cache store in production.
- # config.cache_store = :mem_cache_store
-
- # Use a real queuing backend for Active Job (and separate queues per environment).
- # config.active_job.queue_adapter = :resque
- # config.active_job.queue_name_prefix = "get_into_teaching_register_production"
-
- config.action_mailer.perform_caching = false
-
- # Ignore bad email addresses and do not raise email delivery errors.
- # Set this to true and configure the email server for immediate delivery to raise delivery errors.
- # config.action_mailer.raise_delivery_errors = false
-
- # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
- # the I18n.default_locale when a translation cannot be found).
- config.i18n.fallbacks = true
-
- # Don't log any deprecations.
- config.active_support.report_deprecations = false
-
- # Use default logging formatter so that PID and timestamp are not suppressed.
- config.log_formatter = ::Logger::Formatter.new
-
- # Use a different logger for distributed setups.
- # require "syslog/logger"
- # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new "app-name")
-
- if ENV["RAILS_LOG_TO_STDOUT"].present?
- logger = ActiveSupport::Logger.new($stdout)
- logger.formatter = config.log_formatter
- config.logger = ActiveSupport::TaggedLogging.new(logger)
- end
-
- # Do not dump schema after migrations.
- config.active_record.dump_schema_after_migration = false
-
- $stdout.sync = true
- SemanticLogger.application = ENV["SEMANTIC_LOGGER_APP"].presence || "Get Teacher Training Adviser Service"
- config.rails_semantic_logger.started = false
- config.rails_semantic_logger.processing = false
- config.rails_semantic_logger.format = :json
- config.rails_semantic_logger.add_file_appender = false
- config.semantic_logger.add_appender \
- io: $stdout,
- level: Rails.application.config.log_level,
- formatter: config.rails_semantic_logger.format
-
- config.exceptions_app = routes
-
- config.cache_store = :redis_cache_store, { namespace: "TTA" }
-
- config.x.git_api_endpoint = "https://get-into-teaching-api-prod.london.cloudapps.digital"
- config.x.enable_beta_redirects = true
- config.x.api_client_cache_store = ActiveSupport::Cache::RedisCacheStore.new(namespace: "TTA-HTTP")
- config.x.basic_auth = ENV["BASIC_AUTH"]
- config.x.dfe_analytics = true
-
- config.session_store :cache_store,
- key: "_dfe_session",
- same_site: :lax,
- expire_after: 1.day,
- secure: true
-end
diff --git a/config/environments/rolling.rb b/config/environments/rolling.rb
deleted file mode 100644
index 963bb1793..000000000
--- a/config/environments/rolling.rb
+++ /dev/null
@@ -1,8 +0,0 @@
-# Just use the production settings
-require File.expand_path("production.rb", __dir__)
-
-Rails.application.configure do
- config.x.git_api_endpoint = "https://get-into-teaching-api-dev.london.cloudapps.digital"
- config.x.enable_beta_redirects = false
- config.x.dfe_analytics = true
-end
diff --git a/config/environments/test.rb b/config/environments/test.rb
deleted file mode 100644
index bce212d7a..000000000
--- a/config/environments/test.rb
+++ /dev/null
@@ -1,63 +0,0 @@
-require "active_support/core_ext/integer/time"
-
-# The test environment is used exclusively to run your application's
-# test suite. You never need to work with it otherwise. Remember that
-# your test database is "scratch space" for the test suite and is wiped
-# and recreated between test runs. Don't rely on the data there!
-
-Rails.application.configure do
- # Settings specified here will take precedence over those in config/application.rb.
-
- # Turn false under Spring and add config.action_view.cache_template_loading = true.
- config.cache_classes = false
-
- # Eager loading loads your whole application. When running a single test locally,
- # this probably isn't necessary. It's a good idea to do in a continuous integration
- # system, or in some way before deploying your code.
- config.eager_load = ENV["CI"].present?
-
- # Configure public file server for tests with Cache-Control for performance.
- config.public_file_server.enabled = true
- config.public_file_server.headers = {
- "Cache-Control" => "public, max-age=#{1.hour.to_i}",
- }
-
- # Show full error reports and disable caching.
- config.consider_all_requests_local = true
- config.action_controller.perform_caching = false
- config.cache_store = :null_store
-
- # Raise exceptions instead of rendering exception templates.
- config.action_dispatch.show_exceptions = false
-
- # Disable request forgery protection in test environment.
- config.action_controller.allow_forgery_protection = false
-
- config.action_mailer.perform_caching = false
-
- # Tell Action Mailer not to deliver emails to the real world.
- # The :test delivery method accumulates sent emails in the
- # ActionMailer::Base.deliveries array.
- config.action_mailer.delivery_method = :test
-
- # Print deprecation notices to the stderr.
- config.active_support.deprecation = :stderr
-
- # Raise exceptions for disallowed deprecations.
- config.active_support.disallowed_deprecation = :raise
-
- # Tell Active Support which deprecation messages to disallow.
- config.active_support.disallowed_deprecation_warnings = []
-
- # Raises error for missing translations.
- # config.i18n.raise_on_missing_translations = true
-
- # Annotate rendered view with file names.
- # config.action_view.annotate_rendered_view_with_filenames = true
-
- config.x.git_api_endpoint = "https://get-into-teaching-api-dev.london.cloudapps.digital"
- config.x.integration_host = "get-teacher-training-adviser-service-test.london.cloudapps.digital"
- config.x.integration_credentials = { username: ENV["HTTP_USERNAME"], password: ENV["HTTP_PASSWORD"] }
- config.x.mailsac_api_key = ENV["MAILSAC_API_KEY"]
- config.x.dfe_analytics = true
-end
diff --git a/config/initializers/01_vcap.rb b/config/initializers/01_vcap.rb
deleted file mode 100644
index 6447722c1..000000000
--- a/config/initializers/01_vcap.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-if ENV["VCAP_SERVICES"].present?
- Rails.application.config.x.vcap_services = JSON.parse(ENV["VCAP_SERVICES"])
-end
-
-if ENV["VCAP_APPLICATION"].present?
- Rails.application.config.x.vcap_app = JSON.parse(ENV["VCAP_APPLICATION"])
-end
diff --git a/config/initializers/application_controller_renderer.rb b/config/initializers/application_controller_renderer.rb
deleted file mode 100644
index 89d2efab2..000000000
--- a/config/initializers/application_controller_renderer.rb
+++ /dev/null
@@ -1,8 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# ActiveSupport::Reloader.to_prepare do
-# ApplicationController.renderer.defaults.merge!(
-# http_host: 'example.org',
-# https: false
-# )
-# end
diff --git a/config/initializers/backtrace_silencers.rb b/config/initializers/backtrace_silencers.rb
deleted file mode 100644
index 59385cdf3..000000000
--- a/config/initializers/backtrace_silencers.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
-# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
-
-# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
-# Rails.backtrace_cleaner.remove_silencers!
diff --git a/config/initializers/canonical_rails.rb b/config/initializers/canonical_rails.rb
deleted file mode 100644
index 45984115e..000000000
--- a/config/initializers/canonical_rails.rb
+++ /dev/null
@@ -1,28 +0,0 @@
-# Do yourself a favor and set these up right when you install the engine.
-
-CanonicalRails.setup do |config|
- # Force the protocol. If you do not specify, the protocol will be based on the incoming request's protocol.
-
- config.protocol = "https://"
-
- # This is the main host, not just the TLD, omit slashes and protocol. If you have more than one, pick the one you want to rank in search results.
-
- config.host = "www.education.gov.uk"
- config.port # = '3000'
-
- # http://en.wikipedia.org/wiki/URL_normalization
- # Trailing slash represents semantics of a directory, ie a collection view - implying an :index get route;
- # otherwise we have to assume semantics of an instance of a resource type, a member view - implying a :show get route
- #
- # Acts as a whitelist for routes to have trailing slashes
-
- config.collection_actions # = [:index]
-
- # Parameter spamming can cause index dilution by creating seemingly different URLs with identical or near-identical content.
- # Unless whitelisted, these parameters will be omitted
-
- config.whitelisted_parameters # = []
-
- # Output a matching OpenGraph URL meta tag (og:url) with the canonical URL, as recommended by Facebook et al
- config.opengraph_url = true
-end
diff --git a/config/initializers/check_required_env_vars.rb b/config/initializers/check_required_env_vars.rb
deleted file mode 100644
index cff23c882..000000000
--- a/config/initializers/check_required_env_vars.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-# Add any hard required ENV VAR keys in the array below
-#
-# eg. Dotenv.require_keys %w[DATABASE_URL RAILS_MAX_THREADS]
-
-Dotenv.require_keys %w[]
diff --git a/config/initializers/content_security_policy.rb b/config/initializers/content_security_policy.rb
deleted file mode 100644
index 54f47cf15..000000000
--- a/config/initializers/content_security_policy.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# Define an application-wide content security policy.
-# See the Securing Rails Applications Guide for more information:
-# https://guides.rubyonrails.org/security.html#content-security-policy-header
-
-# Rails.application.configure do
-# config.content_security_policy do |policy|
-# policy.default_src :self, :https
-# policy.font_src :self, :https, :data
-# policy.img_src :self, :https, :data
-# policy.object_src :none
-# policy.script_src :self, :https
-# policy.style_src :self, :https
-# # Specify URI for violation reports
-# # policy.report_uri "/csp-violation-report-endpoint"
-# end
-#
-# # Generate session nonces for permitted importmap and inline scripts
-# config.content_security_policy_nonce_generator = ->(request) { request.session.id.to_s }
-# config.content_security_policy_nonce_directives = %w(script-src)
-#
-# # Report violations without enforcing the policy.
-# # config.content_security_policy_report_only = true
-# end
diff --git a/config/initializers/cookies_serializer.rb b/config/initializers/cookies_serializer.rb
deleted file mode 100644
index 5a6a32d37..000000000
--- a/config/initializers/cookies_serializer.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# Specify a serializer for the signed and encrypted cookie jars.
-# Valid options are :json, :marshal, and :hybrid.
-Rails.application.config.action_dispatch.cookies_serializer = :json
diff --git a/config/initializers/cors.rb b/config/initializers/cors.rb
deleted file mode 100644
index 0af6675ed..000000000
--- a/config/initializers/cors.rb
+++ /dev/null
@@ -1,3 +0,0 @@
-# We don't allow CORS but use the Rack::Cors middleware to correctly
-# serve the preflight OPTIONS requests from browsers.
-Rails.application.config.middleware.insert_before 0, Rack::Cors
diff --git a/config/initializers/date_formats.rb b/config/initializers/date_formats.rb
deleted file mode 100644
index 265682c3b..000000000
--- a/config/initializers/date_formats.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-Date::DATE_FORMATS[:govuk_date] = "%d %m %Y"
-Date::DATE_FORMATS[:govuk_date_long] = "%A %-d %B"
-
-Time::DATE_FORMATS[:govuk_date] = "%d %m %Y"
-Time::DATE_FORMATS[:govuk_date_long] = "%A %-d %B"
-Time::DATE_FORMATS[:govuk_time] = "%H:%M"
-Time::DATE_FORMATS[:govuk_time_with_period] = "%-I:%M%P"
diff --git a/config/initializers/dfe_analytics.rb b/config/initializers/dfe_analytics.rb
deleted file mode 100644
index a7da98f15..000000000
--- a/config/initializers/dfe_analytics.rb
+++ /dev/null
@@ -1,51 +0,0 @@
-DfE::Analytics.configure do |config|
- # Whether to log events instead of sending them to BigQuery.
- #
- config.log_only = false
-
- # Whether to use ActiveJob or dispatch events immediately.
- #
- config.async = true
-
- # Which ActiveJob queue to put events on
- #
- # config.queue = :default
-
- # The name of the BigQuery table we’re writing to.
- #
- # config.bigquery_table_name = ENV['BIGQUERY_TABLE_NAME']
-
- # The name of the BigQuery project we’re writing to.
- #
- # config.bigquery_project_id = ENV['BIGQUERY_PROJECT_ID']
-
- # The name of the BigQuery dataset we're writing to.
- #
- # config.bigquery_dataset = ENV['BIGQUERY_DATASET']
-
- # Service account JSON key for the BigQuery API. See
- # https://cloud.google.com/bigquery/docs/authentication/service-account-file
- #
- # We base64 encode the secret otherwise the raw JSON is mangled when it gets
- # written to/read from the Azure keyvault.
- config.bigquery_api_json_key = ENV["BIGQUERY_API_JSON_KEY"] ? Base64.decode64(ENV["BIGQUERY_API_JSON_KEY"]) : nil
-
- # Passed directly to the retries: option on the BigQuery client
- #
- # config.bigquery_retries = 3
-
- # Passed directly to the timeout: option on the BigQuery client
- #
- # config.bigquery_timeout = 120
-
- # A proc which returns true or false depending on whether you want to
- # enable analytics. You might want to hook this up to a feature flag or
- # environment variable.
- #
- config.enable_analytics = proc { Rails.application.config.x.dfe_analytics }
-
- # The environment we’re running in. This value will be attached
- # to all events we send to BigQuery.
- #
- # config.environment = ENV.fetch('RAILS_ENV', 'development')
-end
diff --git a/config/initializers/exclude_cloudfront_ips.rb b/config/initializers/exclude_cloudfront_ips.rb
deleted file mode 100644
index 32ca6b469..000000000
--- a/config/initializers/exclude_cloudfront_ips.rb
+++ /dev/null
@@ -1,6 +0,0 @@
-# Don't load in dev or test environments
-# Mirrors behaviour of actionpack-cloudfront
-unless Rails.env.development? || Rails.env.test?
- require "cloud_front_ip_filter"
- CloudFrontIpFilter.configure!
-end
diff --git a/config/initializers/filter_parameter_logging.rb b/config/initializers/filter_parameter_logging.rb
deleted file mode 100644
index a13152d6f..000000000
--- a/config/initializers/filter_parameter_logging.rb
+++ /dev/null
@@ -1,17 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# Configure parameters to be filtered from the log file. Use this to limit dissemination of
-# sensitive information. See the ActiveSupport::ParameterFilter documentation for supported
-# notations and behaviors.
-Rails.application.config.filter_parameters += %i[
- address_postcode
- date_of_birth
- email
- first_name
- last_name
- password
- teacher_id
- telephone
- address_telephone
- timed_one_time_password
-]
diff --git a/config/initializers/formbuilder.rb b/config/initializers/formbuilder.rb
deleted file mode 100644
index 2b9d60a9b..000000000
--- a/config/initializers/formbuilder.rb
+++ /dev/null
@@ -1,3 +0,0 @@
-GOVUKDesignSystemFormBuilder.configure do |conf|
- conf.default_legend_tag = "h1"
-end
diff --git a/config/initializers/get_into_teaching_api_client.rb b/config/initializers/get_into_teaching_api_client.rb
deleted file mode 100644
index 44fc86d58..000000000
--- a/config/initializers/get_into_teaching_api_client.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-GetIntoTeachingApiClient.configure do |config|
- endpoint = ENV["GIT_API_ENDPOINT"].presence || Rails.application.config.x.git_api_endpoint.presence
-
- if endpoint
- parsed = URI.parse(endpoint)
- config.host = parsed.hostname
- end
-
- config.api_key["apiKey"] = ENV["GIT_API_TOKEN"].presence
-
- config.server_index = nil
- config.api_key_prefix["apiKey"] = "Bearer"
- config.scheme = "https"
- config.cache_store = Rails.application.config.x.api_client_cache_store
-
- config.circuit_breaker = {
- enabled: true,
- threshold: 5,
- timeout: 5.minutes,
- }
-end
diff --git a/config/initializers/inflections.rb b/config/initializers/inflections.rb
deleted file mode 100644
index 3860f659e..000000000
--- a/config/initializers/inflections.rb
+++ /dev/null
@@ -1,16 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# Add new inflection rules using the following format. Inflections
-# are locale specific, and you may define rules for as many different
-# locales as you wish. All of these examples are active by default:
-# ActiveSupport::Inflector.inflections(:en) do |inflect|
-# inflect.plural /^(ox)$/i, "\\1en"
-# inflect.singular /^(ox)en/i, "\\1"
-# inflect.irregular "person", "people"
-# inflect.uncountable %w( fish sheep )
-# end
-
-# These inflection rules are supported but not enabled by default:
-# ActiveSupport::Inflector.inflections(:en) do |inflect|
-# inflect.acronym "RESTful"
-# end
diff --git a/config/initializers/instrumentation.rb b/config/initializers/instrumentation.rb
deleted file mode 100644
index ae53af708..000000000
--- a/config/initializers/instrumentation.rb
+++ /dev/null
@@ -1,96 +0,0 @@
-ActiveSupport::Notifications.subscribe "process_action.action_controller" do |*args|
- event = ActiveSupport::Notifications::Event.new(*args)
- payload = event.payload.symbolize_keys.reject { |_, v| v.nil? }
-
- prometheus = Prometheus::Client.registry
-
- labels = { path: nil, method: nil, status: nil }
- labels.merge!(payload.slice(*labels.keys))
-
- labels[:path] = labels[:path].split("?").first if labels[:path]
-
- metric = prometheus.get(:tta_requests_total)
- metric.increment(labels:)
-
- metric = prometheus.get(:tta_request_duration_ms)
- metric.observe(event.duration, labels:)
-
- if payload.key?(:view_runtime)
- metric = prometheus.get(:tta_request_view_runtime_ms)
- metric.observe(payload[:view_runtime], labels:)
- end
-end
-
-ActiveSupport::Notifications.subscribe "render_template.action_view" do |*args|
- event = ActiveSupport::Notifications::Event.new(*args)
-
- prometheus = Prometheus::Client.registry
-
- labels = { identifier: nil }
- labels.merge!(event.payload.symbolize_keys.slice(*labels.keys))
-
- labels[:identifier] = labels[:identifier].split("/app/views/").last if labels[:identifier]
-
- metric = prometheus.get(:tta_render_view_ms)
- metric.observe(event.duration, labels:)
-end
-
-ActiveSupport::Notifications.subscribe "render_partial.action_view" do |*args|
- event = ActiveSupport::Notifications::Event.new(*args)
-
- prometheus = Prometheus::Client.registry
-
- labels = { identifier: nil }
- labels.merge!(event.payload.symbolize_keys.slice(*labels.keys))
-
- labels[:identifier] = labels[:identifier].split("/app/views/").last if labels[:identifier]
-
- metric = prometheus.get(:tta_render_partial_ms)
- metric.observe(event.duration, labels:)
-end
-
-ActiveSupport::Notifications.subscribe "tta.csp_violation" do |*args|
- event = ActiveSupport::Notifications::Event.new(*args)
- report = event.payload.transform_keys(&:underscore).symbolize_keys
-
- prometheus = Prometheus::Client.registry
-
- labels = { blocked_uri: nil, document_uri: nil, violated_directive: nil }
- labels.merge!(report.slice(*labels.keys))
-
- labels[:violated_directive] = labels[:violated_directive].split.first if labels[:violated_directive]
- labels[:blocked_uri] = labels[:blocked_uri].split("?").first if labels[:blocked_uri]
-
- if labels[:document_uri]
- document_uri = URI.parse(labels[:document_uri])
- labels[:document_uri] = document_uri.path
- end
-
- metric = prometheus.get(:tta_csp_violations_total)
- metric.increment(labels:)
-end
-
-ActiveSupport::Notifications.subscribe "tta.feedback" do |*args|
- event = ActiveSupport::Notifications::Event.new(*args)
- feedback = event.payload
-
- prometheus = Prometheus::Client.registry
-
- metric = prometheus.get(:tta_feedback_visit_total)
- metric.increment(labels: { successful: feedback.successful_visit ? "1" : "0" })
-
- metric = prometheus.get(:tta_feedback_rating_total)
- metric.increment(labels: { rating: feedback.rating.to_s })
-end
-
-ActiveSupport::Notifications.subscribe "tta.client_metric" do |*args|
- event = ActiveSupport::Notifications::Event.new(*args)
- metric_details = event.payload.deep_symbolize_keys
-
- raise(ArgumentError, "attempted to increment non-client metric") unless metric_details[:key].start_with?("tta_client_")
-
- prometheus = Prometheus::Client.registry
-
- metric = prometheus.get(metric_details[:key])
- metric.increment(labels: metric_details[:labels])
-end
diff --git a/config/initializers/invisible_captcha.rb b/config/initializers/invisible_captcha.rb
deleted file mode 100644
index 5c2e56f14..000000000
--- a/config/initializers/invisible_captcha.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-InvisibleCaptcha.setup do |config|
- # Only enable in production so our automated integration
- # tests don't fail.
- config.timestamp_enabled = Rails.env.production?
-end
diff --git a/config/initializers/mime_types.rb b/config/initializers/mime_types.rb
deleted file mode 100644
index dc1899682..000000000
--- a/config/initializers/mime_types.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# Add new mime types for use in respond_to blocks:
-# Mime::Type.register "text/richtext", :rtf
diff --git a/config/initializers/permissions_policy.rb b/config/initializers/permissions_policy.rb
deleted file mode 100644
index 00f64d71b..000000000
--- a/config/initializers/permissions_policy.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-# Define an application-wide HTTP permissions policy. For further
-# information see https://developers.google.com/web/updates/2018/06/feature-policy
-#
-# Rails.application.config.permissions_policy do |f|
-# f.camera :none
-# f.gyroscope :none
-# f.microphone :none
-# f.usb :none
-# f.fullscreen :self
-# f.payment :self, "https://secure.example.com"
-# end
diff --git a/config/initializers/prometheus.rb b/config/initializers/prometheus.rb
deleted file mode 100644
index 76d4b3dc2..000000000
--- a/config/initializers/prometheus.rb
+++ /dev/null
@@ -1 +0,0 @@
-require "prometheus/metrics"
diff --git a/config/initializers/rack_attack.rb b/config/initializers/rack_attack.rb
deleted file mode 100644
index 4ac2b6f60..000000000
--- a/config/initializers/rack_attack.rb
+++ /dev/null
@@ -1,78 +0,0 @@
-module Rack
- class Attack
- FAIL2BAN_LIST = %w[
- /etc/passwd
- wp-admin
- wp-login
- wp-includes
- .php
- ].freeze
-
- FAIL2BAN_REGEX = Regexp.union(FAIL2BAN_LIST).freeze
-
- # Throttle /csp_reports requests by IP (5rpm)
- throttle("csp_reports req/ip", limit: 5, period: 1.minute) do |req|
- req.ip if req.path == "/csp_reports"
- end
-
- # Throttle /client_metrics requests by IP (5rpm)
- throttle("client_metrics req/ip", limit: 5, period: 1.minute) do |req|
- req.ip if req.path == "/client_metrics"
- end
-
- unless ENV["SKIP_REQ_LIMITS"].to_s.in? %w[true yes 1]
- # Throttle requests that issue a verification code by IP (5rpm)
- throttle("issue_verification_code req/ip", limit: 5, period: 1.minute) do |req|
- req.ip if (req.patch? || req.put?) && req.path == "/teacher_training_adviser/sign_up/identity"
- end
-
- # Throttle requests that resend a verification code by IP (5rpm)
- throttle("resend_verification_code req/ip", limit: 5, period: 1.minute) do |req|
- path_resends_verification_code = %r{/*./resend_verification}.match?(req.path)
-
- req.ip if req.get? && path_resends_verification_code
- end
-
- # Throttle teacher training adviser sign ups by IP (5rpm)
- throttle("teacher_training_adviser_sign_up req/ip", limit: 5, period: 1.minute) do |req|
- req.ip if (req.patch? || req.put?) && req.path == "/teacher_training_adviser/sign_up/review_answers"
- end
- end
-
- if ENV["FAIL2BAN"].to_s.match? %r{\A\d+\z}
- FAIL2BAN_TIME = ENV["FAIL2BAN"].to_s.to_i.minutes.freeze
-
- blocklist("block hostile bots") do |req|
- Fail2Ban.filter("hostile-bots-#{req.ip}", maxretry: 0, findtime: 1.second, bantime: FAIL2BAN_TIME) do
- (
- FAIL2BAN_REGEX.match?(CGI.unescape(req.query_string)) ||
- FAIL2BAN_REGEX.match?(req.path)
- ).tap do |should_ban|
- if should_ban
- obscured_ip = req.ip.to_s.gsub(%r{\.\d+\.(\d+)\.}, ".***.***.")
-
- Rails.logger.info(
- <<~BAN_MESSAGE,
- Banning IP: #{obscured_ip} for #{FAIL2BAN_TIME.to_i / 60} minutes
- accessing #{req.path} with '#{req.query_string}'
- BAN_MESSAGE
- )
- end
- end
- end
- end
- end
- end
-
- Rack::Attack.throttled_responder = lambda do |env|
- accept_html = env["HTTP_ACCEPT"]&.include?("text/html")
- return [429, {}, ["Rate limit exceeded"]] unless accept_html
-
- html = ApplicationController.render(
- template: "errors/too_many_requests",
- layout: "application",
- )
-
- [429, { "Content-Type" => "text/html; charset=utf-8" }, [html]]
- end
-end
diff --git a/config/initializers/redis.rb b/config/initializers/redis.rb
deleted file mode 100644
index 34db30a28..000000000
--- a/config/initializers/redis.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-if ENV["REDIS_URL"].blank? && Rails.application.config.x.vcap_services.present?
- redis_url = Rails.application.config.x.vcap_services.dig \
- "redis", 0, "credentials", "uri"
-
- ENV["REDIS_URL"] = redis_url if redis_url.present?
-end
-
-if ENV["REDIS_URL"]
- REDIS = ConnectionPool::Wrapper.new(size: 5, timeout: 3) do
- Redis.new(
- db: (Rails.env.test? ? ENV["TEST_ENV_NUMBER"].presence : nil),
- connect_timeout: 20, # Default is 5s but logic is we're better being slower booting than failing to boot
- reconnect_attempts: 1, # Allow for connection failure since Azure networking to Redis is showing some unreliability
- )
- end
-
- unless REDIS.ping == "PONG"
- raise "Could not connect to Redis"
- end
-end
diff --git a/config/initializers/secure_headers.rb b/config/initializers/secure_headers.rb
deleted file mode 100644
index 981c2e17a..000000000
--- a/config/initializers/secure_headers.rb
+++ /dev/null
@@ -1,45 +0,0 @@
-# rubocop:disable Lint/PercentStringArray
-SecureHeaders::Configuration.default do |config|
- config.x_frame_options = "DENY"
- config.x_content_type_options = "nosniff"
- config.x_xss_protection = "1; mode=block"
- config.x_download_options = "noopen"
- config.x_permitted_cross_domain_policies = "none"
- config.referrer_policy = %w[origin-when-cross-origin strict-origin-when-cross-origin]
-
- google_analytics = %w[*.google-analytics.com *.googletagmanager.com tagmanager.google.com *.googleusercontent.com *.gstatic.com s.ytimg.com https://www.googleadservices.com *.google.co.uk https://www.google.com https://googleads.g.doubleclick.net https://pagead2.googlesyndication.com]
- lid_pixels = %w[pixelg.adswizz.com tracking.audio.thisisdax.com]
- bam_pixels = %w[linkbam.uk]
- gtm_server = %w[get-into-teaching-staging-gtm.nw.r.appspot.com analytics.getintoteaching.education.gov.uk]
-
- google_adservice = %w[adservice.google.com adservice.google.co.uk]
-
- hotjar = %w[*.hotjar.com vc.hotjar.io wss://*.hotjar.com]
- reddit = %w[www.redditstatic.com alb.reddit.com]
-
- config.csp = {
- default_src: %w['none'],
- base_uri: %w['self'],
- block_all_mixed_content: true, # see http://www.w3.org/TR/mixed-content/
- child_src: %w['self' *.youtube.com ct.pinterest.com tr.snapchat.com] + hotjar,
- connect_src: %W['self' ct.pinterest.com www.facebook.com stats.g.doubleclick.net tr.snapchat.com] + google_analytics + gtm_server + hotjar + google_adservice,
- font_src: %w['self' *.gov.uk fonts.gstatic.com],
- form_action: %w['self' tr.snapchat.com www.facebook.com],
- frame_ancestors: %w['self'] + hotjar,
- frame_src: %w['self' tr.snapchat.com www.facebook.com www.youtube.com *.doubleclick.net *.pinterest.com *.pinterest.co.uk] + hotjar,
- img_src: %W['self' *.gov.uk data: *.googleapis.com ade.googlesyndication.com analytics.twitter.com www.facebook.com ct.pinterest.com t.co www.facebook.com cx.atdmt.com ad.doubleclick.net *.fls.doubleclick.net i.ytimg.com adservice.google.com adservice.google.co.uk] + google_analytics + lid_pixels + bam_pixels + gtm_server + reddit,
- manifest_src: %w['self'],
- media_src: %w['self'],
- script_src: %W['self' 'unsafe-inline' 'unsafe-eval' *.googleapis.com *.gov.uk code.jquery.com *.youtube.com *.facebook.net *.pinimg.com sc-static.net static.ads-twitter.com analytics.twitter.com ad.doubleclick.com] + google_analytics + hotjar + reddit,
- style_src: %w['self' 'unsafe-inline' *.gov.uk *.googleapis.com] + google_analytics,
- worker_src: %w['self'],
- upgrade_insecure_requests: !Rails.env.development?, # see https://www.w3.org/TR/upgrade-insecure-requests/
- report_uri: %w[/csp_reports],
- }
-
- if Rails.env.development?
- # Webpack-dev-server
- config.csp[:connect_src] += %w[http://localhost:3035 ws://localhost:3035 wss://localhost:3035]
- end
-end
-# rubocop:enable Lint/PercentStringArray
diff --git a/config/initializers/sentry.rb b/config/initializers/sentry.rb
deleted file mode 100644
index 178a44a81..000000000
--- a/config/initializers/sentry.rb
+++ /dev/null
@@ -1 +0,0 @@
-Sentry.init
diff --git a/config/initializers/typhoeus.rb b/config/initializers/typhoeus.rb
deleted file mode 100644
index b39f20446..000000000
--- a/config/initializers/typhoeus.rb
+++ /dev/null
@@ -1,2 +0,0 @@
-# Typhoeus::Config.cache = Typhoeus::Cache::Rails.new
-# this is temporarily disabled until we resolve the etag issue
diff --git a/config/initializers/wrap_parameters.rb b/config/initializers/wrap_parameters.rb
deleted file mode 100644
index bbfc3961b..000000000
--- a/config/initializers/wrap_parameters.rb
+++ /dev/null
@@ -1,14 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# This file contains settings for ActionController::ParamsWrapper which
-# is enabled by default.
-
-# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
-ActiveSupport.on_load(:action_controller) do
- wrap_parameters format: [:json]
-end
-
-# To enable root element in JSON for ActiveRecord objects.
-# ActiveSupport.on_load(:active_record) do
-# self.include_root_in_json = true
-# end
diff --git a/config/locales/en.yml b/config/locales/en.yml
deleted file mode 100644
index 2045fa0b9..000000000
--- a/config/locales/en.yml
+++ /dev/null
@@ -1,436 +0,0 @@
-# Files in the config/locales directory are used for internationalization
-# and are automatically loaded by Rails. If you want to use locales other
-# than English, add the necessary files in this directory.
-#
-# To use the locales, use `I18n.t`:
-#
-# I18n.t 'hello'
-#
-# In views, this is aliased to just `t`:
-#
-# <%= t('hello') %>
-#
-# To use a different locale, set it with `I18n.locale`:
-#
-# I18n.locale = :es
-#
-# This would use the information in config/locales/es.yml.
-#
-# The following keys must be escaped otherwise they will not be retrieved by
-# the default I18n backend:
-#
-# true, false, on, off, yes, no
-#
-# Instead, surround them with single quotes.
-#
-# en:
-# 'true': 'foo'
-#
-# To learn more, please read the Rails Internationalization guide
-# available at https://guides.rubyonrails.org/i18n.html.
-
-telephone_errors: &telephone_errors
- invalid: "Enter a telephone number in the correct format"
- invalid_dial_in_code: "Telephone number must start with a country dial-in code (e.g. 44)"
- too_short: "Telephone number is too short (minimum is 5 characters)"
- too_long: "Telephone number is too long (maximum is 20 characters)"
-
-en:
- helpers:
- legend:
- teacher_training_adviser_feedback:
- successful_visit: "Did you achieve what you wanted from your visit?"
- rating: "Overall, how did you feel about the service you received?"
- teacher_training_adviser_feedback_search:
- created_on_or_after: "Created on or after"
- created_on_or_before: "Created on or before"
- teacher_training_adviser_steps_date_of_birth:
- date_of_birth: "Enter your date of birth"
- teacher_training_adviser_steps_uk_or_overseas:
- uk_or_overseas: "Where do you live?"
- teacher_training_adviser_steps_stage_of_degree:
- degree_status_id: "In which year are you studying?"
- teacher_training_adviser_steps_stage_interested_teaching:
- preferred_education_phase_id: "Which stage are you interested in teaching?"
- teacher_training_adviser_steps_gcse_science:
- has_gcse_science_id: "Do you have grade 4 (C) or above in GCSE science, or equivalent?"
- teacher_training_adviser_steps_retake_gcse_maths_english:
- planning_to_retake_gcse_maths_and_english_id: "Are you planning to retake either English or maths (or both) GCSEs, or equivalent?"
- teacher_training_adviser_steps_retake_gcse_science:
- planning_to_retake_gcse_science_id: "Are you planning to retake your science GCSE?"
- teacher_training_adviser_steps_gcse_maths_english:
- has_gcse_maths_and_english_id: "Do you have grade 4 (C) or above in English and maths GCSEs, or equivalent?"
- teacher_training_adviser_steps_returning_teacher:
- type_id: "Are you qualified to teach?"
- teacher_training_adviser_steps_has_teacher_id:
- has_id: "Do you have your previous teacher reference number?"
- teacher_training_adviser_steps_have_a_degree:
- degree_options: "Do you have a degree?"
- label:
- wizard_steps_authenticate:
- timed_one_time_password: "To verify your details, we've sent a code to your email address."
- teacher_training_adviser_feedback:
- unsuccessful_visit_explanation: "Give details"
- improvements: "How could we improve the service? (optional)"
- rating_options:
- very_satisfied: "Very satisfied"
- satisfied: "Satisfied"
- neither_satisfied_or_dissatisfied: "Neither satisfied or dissatisfied"
- dissatisfied: "Dissatisfied"
- very_dissatisfied: "Very dissatisfied"
- teacher_training_adviser_steps_identity:
- first_name: "First name"
- last_name: "Last name"
- email: "Email address"
- teacher_training_adviser_steps_overseas_callback:
- phone_call_scheduled_at: "Select your preferred day and time for a callback"
- teacher_training_adviser_steps_overseas_time_zone:
- address_telephone: "Contact telephone number"
- time_zone: "Select your time zone"
- teacher_training_adviser_steps_overseas_telephone:
- address_telephone: "Overseas telephone number (optional)"
- teacher_training_adviser_steps_previous_teacher_id:
- teacher_id: "Teacher reference number (optional)."
- teacher_training_adviser_steps_what_subject_degree:
- degree_subject: "What subject is your degree?"
- teacher_training_adviser_steps_subject_like_to_teach:
- preferred_teaching_subject_id: "Which subject would you like to teach if you return to teaching?"
- teacher_training_adviser_steps_subject_taught:
- subject_taught_id: "Which main subject did you previously teach?"
- teacher_training_adviser_steps_subject_interested_teaching:
- preferred_teaching_subject_id: "What would you like to teach?"
- teacher_training_adviser_steps_start_teacher_training:
- initial_teacher_training_year_id: "When do you want to start your teacher training?"
- teacher_training_adviser_steps_uk_telephone:
- address_telephone: "UK telephone number (optional)"
- teacher_training_adviser_steps_uk_callback:
- address_telephone: "Contact telephone number"
- phone_call_scheduled_at: "Select your preferred day and time for a callback"
- teacher_training_adviser_steps_overseas_country:
- country_id: "Which country do you live in?"
- teacher_training_adviser_steps_uk_or_overseas:
- uk_or_overseas_options:
- UK: "UK"
- Overseas: "Overseas"
- teacher_training_adviser_steps_stage_interested_teaching:
- preferred_education_phase_id_options:
- 222750000: "Primary"
- 222750001: "Secondary"
- teacher_training_adviser_steps_gcse_science:
- has_gcse_science_id_options:
- 222750000: "Yes"
- 222750001: "No"
- teacher_training_adviser_steps_retake_gcse_maths_english:
- planning_to_retake_gcse_maths_and_english_id_options:
- 222750000: "Yes"
- 222750001: "No"
- teacher_training_adviser_steps_retake_gcse_science:
- planning_to_retake_gcse_science_id_options:
- 222750000: "Yes"
- 222750001: "No"
- teacher_training_adviser_steps_gcse_maths_english:
- has_gcse_maths_and_english_id_options:
- 222750000: "Yes"
- 222750001: "No"
- teacher_training_adviser_steps_returning_teacher:
- type_id_options:
- 222750001: "Yes"
- 222750000: "No"
- teacher_training_adviser_steps_have_a_degree:
- degree_options_options:
- "yes": "Yes"
- equivalent: "I am not a UK citizen and have, or am studying for, an equivalent qualification"
- "no": "No"
- studying: "I'm studying for a degree"
- hint:
- wizard_steps_authenticate:
- timed_one_time_password:
- text: "Enter your code here:"
- resent: We've sent you another email
- teacher_training_adviser_steps_what_subject_degree:
- degree_subject: "If your subject is not listed choose the option that is nearest to your degree."
- teacher_training_adviser_steps_subject_interested_teaching:
- preferred_teaching_subject_id: "Choose a subject, even if you're not sure yet. We try and match you with an adviser based on your subject."
- teacher_training_adviser_steps_uk_telephone:
- address_telephone: |-
- Your adviser can talk to you by text and WhatsApp, as well as by
- phone call. Giving your phone number is the easiest way to talk to an
- adviser.
- teacher_training_adviser_steps_start_teacher_training:
- initial_teacher_training_year_id: "Choose the year you would like to start your teacher training."
- teacher_training_adviser_steps_stage_interested_teaching:
- preferred_education_phase_id: "Select a stage even if you're not sure yet — we try and match you with an adviser based on who you'd like to teach. You can change your mind later."
- teacher_training_adviser_steps_returning_teacher:
- type_id: "Only select 'yes' if you have English qualified teacher status (QTS)."
- teacher_training_adviser_steps_have_a_degree:
- degree_options: "To use this service your bachelor's degree or predicted grade needs to be a 2:2 class honours or above."
- teacher_training_adviser_steps_overseas_telephone:
- address_telephone_html: "We recommend you provide us with your phone number as this is the most effective way to talk to your adviser.
For international numbers include the country code."
- teacher_training_adviser_steps_date_of_birth:
- date_of_birth: "For example, 31 3 1980"
- teacher_training_adviser_steps_overseas_country:
- country_id_html: You can apply to train or teach from any country in the world, but you may need a visa. Our guidance for international teachers and international trainees explains how to apply for the correct visa or immigration status for your employment or study in the UK.
- have_a_degree:
- degree_options:
- "yes": "Yes"
- equivalent: "I have, or I'm studying for, an equivalent qualification from another country"
- "no": "No"
- studying: "I'm studying for a degree"
- answers:
- identity:
- name:
- title: "Name"
- change: "your name"
- email:
- title: "Email"
- change: "your email"
- date_of_birth:
- date_of_birth:
- title: "Date of birth"
- change: "your date of birth"
- gcse_maths_english:
- has_gcse_maths_and_english_id:
- title: "Do you have grade 4 (C) or above in maths and English GCSE, or equivalent?"
- change: "if you have grade 4 (C) or above in maths and English GCSE, or equivalent"
- gcse_science:
- has_gcse_science_id:
- title: "Do you have science GCSE Grade 4 or above?"
- change: "if you have science GCSE Grade 4 or above"
- has_teacher_id:
- has_id:
- title: "Do you have your previous teacher reference number?"
- change: "if you have a previous teacher reference number"
- have_a_degree:
- degree_options:
- title: "Do you have a degree?"
- change: "if you have a degree"
- overseas_callback:
- callback_date:
- title: "Callback date"
- change: "callback date"
- callback_time:
- title: "Callback time"
- change: "callback time"
- overseas_country:
- country_id:
- title: "Which country do you live in?"
- change: "which country you live in"
- overseas_telephone:
- address_telephone:
- title: "Telephone"
- change: "your telephone"
- overseas_time_zone:
- time_zone:
- title: "Time zone"
- change: "callback time zone"
- address_telephone:
- title: "Telephone"
- change: "your telephone"
- previous_teacher_id:
- teacher_id:
- title: "What is your previous teacher reference number?"
- change: "your previous teacher reference number"
- retake_gcse_maths_english:
- planning_to_retake_gcse_maths_and_english_id:
- title: "Are you planning to retake your English or maths GCSEs?"
- change: "if you are planning to retake your English or maths GCSEs"
- retake_gcse_science:
- planning_to_retake_gcse_science_id:
- title: "Are you planning to retake your science GCSE?"
- change: "if you have planning to retake your science GCSE"
- returning_teacher:
- returning_to_teaching:
- title: "Are you qualified to teach?"
- change: "if you are qualified to teach"
- stage_interested_teaching:
- preferred_education_phase_id:
- title: "Which stage are you interested in teaching?"
- change: "the stage you are interested in teaching"
- stage_of_degree:
- degree_status_id:
- title: "In which year are you studying?"
- change: "the year in which you are studying"
- start_teacher_training:
- initial_teacher_training_year_id:
- title: "When do you want to start teacher training?"
- change: "when you want to start teacher training"
- subject_interested_teaching:
- preferred_teaching_subject_id:
- title: "Which subject are you interested in teaching?"
- change: "which subject you are interested in teaching"
- subject_like_to_teach:
- preferred_teaching_subject_id:
- title: "Which subject would you like to teach if you return to teaching?"
- change: "the subject you would like to teach if you return to teaching"
- subject_taught:
- subject_taught_id:
- title: "Which main subject did you previously teach?"
- change: "the main subject you previously taught"
- uk_address:
- address_postcode:
- title: "Postcode"
- change: "your postcode"
- uk_callback:
- callback_date:
- title: "Callback date"
- change: "the callback date"
- callback_time:
- title: "Callback time"
- change: "the callback time"
- address_telephone:
- title: "Telephone"
- change: "your telephone"
- uk_or_overseas:
- uk_or_overseas:
- title: "Where do you live?"
- change: "where you live"
- uk_telephone:
- address_telephone:
- title: "Telephone"
- change: "your telephone"
- what_degree_class:
- uk_degree_grade_id:
- title: "Which class is your degree?"
- change: "the class of your degree"
- what_subject_degree:
- degree_subject:
- title: "Which subject is your degree?"
- change: "the subject of your degree"
- activerecord:
- errors:
- models:
- teacher_training_adviser/feedback:
- attributes:
- successful_visit:
- inclusion: "Select whether you achieved what you wanted from your visit"
- unsuccessful_visit_explanation:
- blank: "Provide details"
- rating:
- blank: "Select an option for how did you feel about the service"
- activemodel:
- errors:
- models:
- wizard/steps/authenticate:
- attributes:
- timed_one_time_password:
- invalid: Please enter the latest verification code sent to your email address
- wrong_length: The verification code should be 6 digits
- teacher_training_adviser/steps/identity:
- attributes:
- first_name:
- blank: "You need to enter your first name"
- too_long: "You have entered too many characters - you need to enter your first name"
- last_name:
- blank: "You need to enter your last name"
- too_long: "You have entered too many characters - you need to enter your last name"
- email:
- blank: "You need to enter your email address"
- invalid: "You need to enter your email address"
- too_long: "Your email address is too long - you need to enter a valid email address"
- channel_id:
- inclusion: The link you used to sign up is no longer valid.
- teacher_training_adviser/steps/subject_taught:
- attributes:
- subject_taught_id:
- invalid_type: "The subject you have entered is not valid - you need to choose one from the subject list"
- teacher_training_adviser/steps/what_degree_class:
- attributes:
- uk_degree_grade_id:
- inclusion: "Select an option from the list"
- teacher_training_adviser/steps/uk_or_overseas:
- attributes:
- uk_or_overseas:
- inclusion: "Select if you live in the UK or overseas"
- teacher_training_adviser/steps/what_subject_degree:
- attributes:
- degree_subject:
- blank: "You need to choose a degree subject"
- teacher_training_adviser/steps/uk_callback:
- attributes:
- address_telephone:
- <<: *telephone_errors
- blank: "Enter a telephone number"
- phone_call_scheduled_at:
- blank: "You need to choose a time to call"
- teacher_training_adviser/steps/uk_telephone:
- attributes:
- address_telephone:
- <<: *telephone_errors
- teacher_training_adviser/steps/uk_address:
- attributes:
- address_postcode:
- invalid: "Enter a real postcode"
- teacher_training_adviser/steps/subject_like_to_teach:
- attributes:
- preferred_teaching_subject_id:
- inclusion: "Choose a subject or other"
- teacher_training_adviser/steps/subject_interested_teaching:
- attributes:
- preferred_teaching_subject_id:
- invalid_type: "Please select a subject"
- teacher_training_adviser/steps/start_teacher_training:
- attributes:
- initial_teacher_training_year_id:
- inclusion: "You must select an option from the list"
- teacher_training_adviser/steps/stage_of_degree:
- attributes:
- degree_status_id:
- invalid_type: "Select which year you are currently studying"
- teacher_training_adviser/steps/stage_interested_teaching:
- attributes:
- preferred_education_phase_id:
- invalid_type: "You must select either primary or secondary"
- teacher_training_adviser/steps/returning_teacher:
- attributes:
- type_id:
- invalid_type: "Select yes if you are returning to teaching"
- teacher_training_adviser/steps/retake_gcse_science:
- attributes:
- planning_to_retake_gcse_science_id:
- invalid_type: "Select yes if you are planning to retake Science GCSE or equivalent"
- teacher_training_adviser/steps/retake_gcse_maths_english:
- attributes:
- planning_to_retake_gcse_maths_and_english_id:
- invalid_type: "Select yes if you are planning to retake either English or maths (or both) GCSEs, or equivalent"
- teacher_training_adviser/steps/overseas_time_zone:
- attributes:
- address_telephone:
- <<: *telephone_errors
- blank: "Enter a telephone number"
- time_zone:
- blank: "Select a time zone"
- teacher_training_adviser/steps/overseas_telephone:
- attributes:
- address_telephone:
- <<: *telephone_errors
- teacher_training_adviser/steps/has_teacher_id:
- attributes:
- has_id:
- inclusion: "Select yes if you have a previous teacher reference number"
- teacher_training_adviser/steps/gcse_science:
- attributes:
- has_gcse_science_id:
- invalid_type: "Select yes if you have Science GCSE or equivalent"
- teacher_training_adviser/steps/gcse_maths_english:
- attributes:
- has_gcse_maths_and_english_id:
- invalid_type: "Select yes if you have grade 4(C) or above in English and Maths GCSE or equivalent"
- teacher_training_adviser/steps/have_a_degree:
- attributes:
- degree_options:
- inclusion: "Select an option from the list"
- teacher_training_adviser/steps/date_of_birth:
- attributes:
- date_of_birth:
- blank: "You need to enter your date of birth"
- on_or_before: "You must be 18 years or older to use this service"
- on_or_after: "You must be less than 70 years old"
- invalid: "You did not enter a valid date of birth"
- teacher_training_adviser/feedback_search:
- attributes:
- created_on_or_after:
- blank: "You must specify a created on or after date"
- on_or_before: "Created on or after must be earlier than created on or before"
- created_on_or_before:
- blank: "You must specify a created on or before date"
- on_or_before: "Created on or before cannot be in the future"
diff --git a/config/puma.rb b/config/puma.rb
deleted file mode 100644
index 90eab10d1..000000000
--- a/config/puma.rb
+++ /dev/null
@@ -1,45 +0,0 @@
-# Puma can serve each request in a thread from an internal thread pool.
-# The `threads` method setting takes two numbers: a minimum and maximum.
-# Any libraries that use thread pools should be configured to match
-# the maximum value specified for Puma. Default is set to 5 threads for minimum
-# and maximum; this matches the default thread size of Active Record.
-#
-max_threads_count = ENV.fetch("RAILS_MAX_THREADS", 5)
-min_threads_count = ENV.fetch("RAILS_MIN_THREADS") { max_threads_count }
-threads min_threads_count, max_threads_count
-
-# Specifies the `port` that Puma will listen on to receive requests; default is 3000.
-#
-port ENV.fetch("PORT", 3000)
-
-# Specifies the `environment` that Puma will run in.
-#
-environment ENV.fetch("RAILS_ENV") { "development" }
-
-# Specifies the `pidfile` that Puma will use.
-# pidfile ENV.fetch("PIDFILE") { "tmp/pids/server.pid" }
-
-# Specifies the number of `workers` to boot in clustered mode.
-# Workers are forked web server processes. If using threads and workers together
-# the concurrency of the application would be max `threads` * `workers`.
-# Workers do not work on JRuby or Windows (both of which do not support
-# processes).
-#
-# workers ENV.fetch("WEB_CONCURRENCY") { 2 }
-
-# Use the `preload_app!` method when specifying a `workers` number.
-# This directive tells Puma to first boot the application and load code
-# before forking the application. This takes advantage of Copy On Write
-# process behavior so workers use less memory.
-#
-# preload_app!
-
-# Allow puma to be restarted by `rails restart` command.
-plugin :tmp_restart
-
-on_worker_boot do
- if defined? SemanticLogger
- # Re-open appenders after forking the process
- SemanticLogger.reopen
- end
-end
diff --git a/config/routes.rb b/config/routes.rb
deleted file mode 100644
index 2cd6b8175..000000000
--- a/config/routes.rb
+++ /dev/null
@@ -1,49 +0,0 @@
-Rails.application.routes.draw do
- if Rails.configuration.x.enable_beta_redirects
- constraints(host: "beta-adviser-getintoteaching.education.gov.uk") do
- get "/(*path)", to: redirect(host: "adviser-getintoteaching.education.gov.uk")
- end
- end
-
- get "/(*path)", to: redirect(host: "getintoteaching.education.gov.uk", path: "/teacher-training-adviser/sign_up/identity?utm_source=adviser-getintoteaching.education.gov.uk&utm_medium=referral&utm_campaign=adviser_redirect")
-
- get "/teacher_training_adviser/not_available", to: "teacher_training_adviser/steps#not_available"
-
- get "/404", to: "errors#not_found", via: :all
- get "/403", to: "errors#forbidden", via: :all
- get "/422", to: "errors#unprocessable_entity", via: :all
- get "/500", to: "errors#internal_server_error", via: :all
-
- get "/robots.txt", to: "robots#show"
-
- resource :client_metrics, only: %i[create]
-
- namespace :teacher_training_adviser, path: "/teacher_training_adviser" do
- resources :feedbacks, only: %i[new create index] do
- collection do
- get :thank_you
- post :export
- end
- end
- resources :steps,
- path: "/sign_up",
- only: %i[index show update] do
- collection do
- get :completed
- get :resend_verification
- end
- end
- end
-
- resource :csp_reports, only: %i[create]
-
- get "/sitemap", to: "sitemaps#index"
- get "/healthcheck.json", to: "healthchecks#show", as: :healthcheck
- get "/privacy-policy", to: "pages#privacy_policy", as: :privacy_policy
- get "/cookies", to: "pages#cookies", as: :cookies
- get "/session-expired", to: "pages#session_expired", as: :session_expired
-
- resource "cookie_preference", only: %i[show]
-
- get "/:page", to: "pages#show"
-end
diff --git a/config/spring.rb b/config/spring.rb
deleted file mode 100644
index 643868a10..000000000
--- a/config/spring.rb
+++ /dev/null
@@ -1,6 +0,0 @@
-Spring.watch(
- ".ruby-version",
- ".rbenv-vars",
- "tmp/restart.txt",
- "tmp/caching-dev.txt",
-)
diff --git a/config/storage.yml b/config/storage.yml
deleted file mode 100644
index d32f76e8f..000000000
--- a/config/storage.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-test:
- service: Disk
- root: <%= Rails.root.join("tmp/storage") %>
-
-local:
- service: Disk
- root: <%= Rails.root.join("storage") %>
-
-# Use rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key)
-# amazon:
-# service: S3
-# access_key_id: <%= Rails.application.credentials.dig(:aws, :access_key_id) %>
-# secret_access_key: <%= Rails.application.credentials.dig(:aws, :secret_access_key) %>
-# region: us-east-1
-# bucket: your_own_bucket
-
-# Remember not to checkin your GCS keyfile to a repository
-# google:
-# service: GCS
-# project: your_project
-# credentials: <%= Rails.root.join("path/to/gcs.keyfile") %>
-# bucket: your_own_bucket
-
-# Use rails credentials:edit to set the Azure Storage secret (as azure_storage:storage_access_key)
-# microsoft:
-# service: AzureStorage
-# storage_account_name: your_account_name
-# storage_access_key: <%= Rails.application.credentials.dig(:azure_storage, :storage_access_key) %>
-# container: your_container_name
-
-# mirror:
-# service: Mirror
-# primary: local
-# mirrors: [ amazon, google, microsoft ]
diff --git a/config/webpack/webpack.config.js b/config/webpack/webpack.config.js
deleted file mode 100644
index 5d5bd811f..000000000
--- a/config/webpack/webpack.config.js
+++ /dev/null
@@ -1,22 +0,0 @@
-// use the new NPM package name, `shakapacker`.
-// merge is webpack-merge from https://github.com/survivejs/webpack-merge
-const { webpackConfig: baseWebpackConfig, merge } = require('shakapacker')
-
-const options = {
- resolve: {
- extensions: ['.scss', '.css', '.png', '.svg', '.gif', '.jpeg', '.jpg', 'ico', 'woff', 'woff2', '...']
- }
-}
-
-// add hashing of generated JS and CSS files to fix caching
-// issue in development see: https://github.com/shakacode/shakapacker/issues/88
-baseWebpackConfig.output.filename = 'js/[name]-[contenthash].js'
-baseWebpackConfig.output.chunkFilename = 'js/[name]-[contenthash].chunk.js'
-
-baseWebpackConfig.plugins.forEach(plugin => {
- if (plugin.options && plugin.options.filename === 'css/[name].css') {
- plugin.options.filename = 'css/[name]-[contenthash].css'
- }
-})
-
-module.exports = merge({}, baseWebpackConfig, options)
diff --git a/config/webpacker.yml b/config/webpacker.yml
deleted file mode 100644
index 17fb98ff3..000000000
--- a/config/webpacker.yml
+++ /dev/null
@@ -1,107 +0,0 @@
-# Note: You must restart bin/webpacker-dev-server for changes to take effect
-
-default: &default
- source_path: app/webpacker
-
- # You can have a subdirectory of the source_path, like 'packs' (recommended).
- # Alternatively, you can use '/' to use the whole source_path directory.
- source_entry_path: packs
-
- # If nested_entries is true, then we'll pick up subdirectories within the source_entry_path.
- # You cannot set this option to true if you set source_entry_path to '/'
- nested_entries: false
-
- # While using a File-System-based automated bundle generation feature, miscellaneous warnings suggesting css order
- # conflicts may arise due to the mini-css-extract-plugin. For projects where css ordering has been mitigated through
- # consistent use of scoping or naming conventions, the css order warnings can be disabled by setting
- # css_extract_ignore_order_warnings to true
- css_extract_ignore_order_warnings: false
-
- public_root_path: public
- public_output_path: packs
- cache_path: tmp/cache/webpacker
- webpack_compile_output: true
- # See https://github.com/shakacode/shakapacker#deployment
- webpacker_precompile: true
-
- # Location for manifest.json, defaults to {public_output_path}/manifest.json if unset
- # manifest_path: public/packs/manifest.json
-
- # Additional paths webpack should look up modules
- # ['app/assets', 'engine/foo/app/assets']
- additional_paths: ['node_modules/govuk-frontend/govuk']
-
- # Reload manifest.json on all requests so we reload latest compiled packs
- cache_manifest: false
-
- # Select loader to use, available options are 'babel' (default), 'swc' or 'esbuild'
- webpack_loader: 'babel'
-
- # Set to true to enable check for matching versions of shakapacker gem and NPM package - will raise an error if there is a mismatch or wildcard versioning is used
- ensure_consistent_versioning: false
-
- # Select whether the compiler will use SHA digest ('digest' option) or most most recent modified timestamp ('mtime') to determine freshness
- compiler_strategy: digest
-
-development:
- <<: *default
- compile: true
- compiler_strategy: mtime
-
- # Reference: https://webpack.js.org/configuration/dev-server/
- # Keys not described there are documented inline and in https://github.com/shakacode/shakapacker/
- dev_server:
- https: false
- host: localhost
- port: 3035
- # Hot Module Replacement updates modules while the application is running without a full reload
- # Used instead of the `hot` key in https://webpack.js.org/configuration/dev-server/#devserverhot
- hmr: false
- # If HMR is on, CSS will by inlined by delivering it as part of the script payload via style-loader. Be sure
- # that you add style-loader to your project dependencies.
- #
- # If you want to instead deliver CSS via with the mini-css-extract-plugin, set inline_css to false.
- # In that case, style-loader is not needed as a dependency.
- #
- # mini-css-extract-plugin is a required dependency in both cases.
- inline_css: true
- # Defaults to the inverse of hmr. Uncomment to manually set this.
- # live_reload: true
- client:
- # Should we show a full-screen overlay in the browser when there are compiler errors or warnings?
- overlay: {
- warnings: false,
- errors: true
- }
- # May also be a string
- # webSocketURL:
- # hostname: '0.0.0.0'
- # pathname: '/ws'
- # port: 8080
- # Should we use gzip compression?
- compress: true
- # Note that apps that do not check the host are vulnerable to DNS rebinding attacks
- allowed_hosts: 'all'
- # Shows progress and colorizes output of bin/webpacker[-dev-server]
- pretty: true
- headers:
- 'Access-Control-Allow-Origin': '*'
- static:
- watch:
- ignored: '**/node_modules/**'
-
-test:
- <<: *default
- compile: true
-
- # Compile test packs to a separate directory
- public_output_path: packs-test
-
-production:
- <<: *default
-
- # Production depends on precompilation of packs prior to booting for performance.
- compile: false
-
- # Cache manifest.json for performance
- cache_manifest: true
diff --git a/db/migrate/20210415104621_create_feedbacks.rb b/db/migrate/20210415104621_create_feedbacks.rb
deleted file mode 100644
index fb11b9706..000000000
--- a/db/migrate/20210415104621_create_feedbacks.rb
+++ /dev/null
@@ -1,12 +0,0 @@
-class CreateFeedbacks < ActiveRecord::Migration[6.0]
- def change
- create_table :feedbacks do |t|
- t.integer :rating, null: false
- t.boolean :successful_visit, null: false
- t.text :unsuccessful_visit_explanation
- t.text :improvements
-
- t.timestamps
- end
- end
-end
diff --git a/db/schema.rb b/db/schema.rb
deleted file mode 100644
index ffef7ff43..000000000
--- a/db/schema.rb
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file is auto-generated from the current state of the database. Instead
-# of editing this file, please use the migrations feature of Active Record to
-# incrementally modify your database, and then regenerate this schema definition.
-#
-# This file is the source Rails uses to define your schema when running `rails
-# db:schema:load`. When creating a new database, `rails db:schema:load` tends to
-# be faster and is potentially less error prone than running all of your
-# migrations from scratch. Old migrations may fail to apply correctly if those
-# migrations use external dependencies or application code.
-#
-# It's strongly recommended that you check this file into your version control system.
-
-ActiveRecord::Schema[6.1].define(version: 2021_04_15_104621) do
-
- # These are extensions that must be enabled in order to support this database
- enable_extension "plpgsql"
-
- create_table "feedbacks", force: :cascade do |t|
- t.integer "rating", null: false
- t.boolean "successful_visit", null: false
- t.text "unsuccessful_visit_explanation"
- t.text "improvements"
- t.datetime "created_at", precision: 6, null: false
- t.datetime "updated_at", precision: 6, null: false
- end
-
-end
diff --git a/db/seeds.rb b/db/seeds.rb
deleted file mode 100644
index 1beea2acc..000000000
--- a/db/seeds.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file should contain all the record creation needed to seed the database with its default values.
-# The data can then be loaded with the rails db:seed command (or created alongside the database with db:setup).
-#
-# Examples:
-#
-# movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }])
-# Character.create(name: 'Luke', movie: movies.first)
diff --git a/docs/journey.md b/docs/journey.md
deleted file mode 100644
index 64916ada8..000000000
--- a/docs/journey.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# Teacher training adviser signup flow
-
-```mermaid
-graph TD;
- get_an_adviser[Get an adviser] --> about_you[About you]
-
- about_you -- Exists in CRM --> already_registered[You're already registered with us]
-
- already_registered -- Registered for TTA --> registered_already[You've already registered for a TTA]
- already_registered -- Not registered for TTA --> qualified_to_teach[Are you qualified to teach?]
-
- qualified_to_teach -- Qualified to teach --> have_trn[Do you have your previous TRN?]
- qualified_to_teach -- Not qualified to teach --> have_degree[Do you have a degree?]
-
- have_trn -- Yes --> trn[What is your TRN?]
- trn --> previous_subject[What subject did you previously teach?]
- previous_subject --> next_subject[What subject would you like to teach if you return?]
-
- next_subject -- Maths, Physics or MFL --> date_of_birth[Date of birth]
- next_subject -- Not Maths, Physics or MFL --> not_eligible[Sorry you aren't eligible for this service]
-
- have_degree -- Yes --> what_degree[What subject is your degree in?]
- have_degree -- Not UK citizen --> what_stage[What stage are you interested in teaching?]
- have_degree -- I am studying --> what_year[In which year are you studying?]
- have_degree -- No --> not_eligible
-
- what_degree --> what_class_predicted[What degree class are you predicted to get?]
- what_class_predicted --> what_stage
- what_stage --> gcses[Do you have English and maths GCSEs?]
-
- gcses -- No --> retake_gcses[Are you planning on retaking English and maths GCSEs?]
- gcses -- Yes --> subject[What subject would you like to]
-
- retake_gcses -- Yes --> subject
- retake_gcses -- No --> get_gcses[Get the right GCSEs]
-
- subject --> start_teacher_training[When do you want to start teacher training?]
- start_teacher_training --> date_of_birth[Date of birth]
- date_of_birth --> where_do_you_live[Where do you live?]
-
- where_do_you_live -- In the UK --> address[What is your postcode?]
- where_do_you_live -- Overseas --> country[What country do you live in?]
-
- subgraph overseas
- country -- Has no equivalent degree --> overseas_telephone[What is your telephone number?]
- country -- Has equivalent degree --> overseas_degree[You told us you have an equivalent degree and live overseas]
-
- overseas_telephone --> choose_a_time[Choose a time for a phone call]
- end
-
- subgraph UK
- address -- Equivalent degree/qualification --> equivalent_degree[You told us you have an equivalent degree and live in the UK]
- address --> uk_telephone
- end
-
- choose_a_time --> check_your_answers[Check your answers]
- uk_telephone --> check_your_answers
- equivalent_degree --> check_your_answers
- overseas_degree --> check_your_answers
-
- check_your_answers --> privacy_policy[Read and accept the privacy policy]
- privacy_policy --> complete[Sign up complete]
-```
diff --git a/docs/runbooks/pipelines/build_fails_at_release.md b/docs/runbooks/pipelines/build_fails_at_release.md
deleted file mode 100644
index 2edf38e98..000000000
--- a/docs/runbooks/pipelines/build_fails_at_release.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Create a GitHub Release
-
-## Symptoms
-When running a master release the build pipeline fails, due to the release already existing.
-
-## Solution
-1. Open the workflow logs at the error and expand the logs, so you can see all the inputs.
-2. Record the release number
-3. Have an admin:
- - Delete the release from the releases
- - Delete the tag
diff --git a/lib/basic_auth.rb b/lib/basic_auth.rb
deleted file mode 100644
index ffa7b0529..000000000
--- a/lib/basic_auth.rb
+++ /dev/null
@@ -1,28 +0,0 @@
-class BasicAuth
- class << self
- def authenticate(username, password)
- return false unless [username, password].all?(&:present?)
-
- credentials.any? { |c| c[:username] == username && c[:password] == password }
- end
-
- def credentials
- @@credentials ||= http_auth.split(",").map do |credential|
- parts = credential.split("=")
- { username: parts.first, password: parts.last }
- end
- end
-
- def http_auth
- ENV["HTTP_AUTH"] || ""
- end
-
- def env_requires_auth?
- basic_auth = Rails.application.config.x.basic_auth
-
- return false if basic_auth.blank?
-
- ActiveModel::Type::Boolean.new.cast(basic_auth)
- end
- end
-end
diff --git a/lib/cloud_front_ip_filter.rb b/lib/cloud_front_ip_filter.rb
deleted file mode 100644
index 055fa86fc..000000000
--- a/lib/cloud_front_ip_filter.rb
+++ /dev/null
@@ -1,27 +0,0 @@
-class CloudFrontIpFilter
- def self.configure!
- Rack::Request.ip_filter = new(Rack::Request.ip_filter)
- end
-
- def initialize(original_filter = nil)
- @original_filter = original_filter
- end
-
- def call(ip)
- @original_filter.call(ip) || cloudfront_ip?(ip)
- end
-
-private
-
- def cloudfront_ip?(ip)
- cloudfront_proxies.any? do |range|
- range.include? ip
- end
- rescue IPAddr::InvalidAddressError
- false
- end
-
- def cloudfront_proxies
- ActionPack::Cloudfront::IpRanges.cloudfront_proxies
- end
-end
diff --git a/lib/prometheus/metrics.rb b/lib/prometheus/metrics.rb
deleted file mode 100644
index ee9609344..000000000
--- a/lib/prometheus/metrics.rb
+++ /dev/null
@@ -1,77 +0,0 @@
-module Prometheus
- module Metrics
- def self.preset_labels
- {
- app: Rails.application.config.x.vcap_app["application_name"],
- organisation: Rails.application.config.x.vcap_app["organization_name"],
- space: Rails.application.config.x.vcap_app["space_name"],
- app_instance: ENV["CF_INSTANCE_INDEX"],
- }
- end
-
- prometheus = Prometheus::Client.registry
-
- prometheus.counter(
- :tta_requests_total,
- docstring: "A counter of requests",
- labels: %i[path method status] + preset_labels.keys,
- preset_labels:,
- )
-
- prometheus.histogram(
- :tta_request_duration_ms,
- docstring: "A histogram of request durations",
- labels: %i[path method status] + preset_labels.keys,
- preset_labels:,
- )
-
- prometheus.histogram(
- :tta_request_view_runtime_ms,
- docstring: "A histogram of request view runtimes",
- labels: %i[path method status] + preset_labels.keys,
- preset_labels:,
- )
-
- prometheus.histogram(
- :tta_render_view_ms,
- docstring: "A histogram of view rendering times",
- labels: %i[identifier] + preset_labels.keys,
- preset_labels:,
- )
-
- prometheus.histogram(
- :tta_render_partial_ms,
- docstring: "A histogram of partial rendering times",
- labels: %i[identifier] + preset_labels.keys,
- preset_labels:,
- )
-
- prometheus.counter(
- :tta_csp_violations_total,
- docstring: "A counter of CSP violations",
- labels: %i[blocked_uri document_uri violated_directive] + preset_labels.keys,
- preset_labels:,
- )
-
- prometheus.counter(
- :tta_feedback_visit_total,
- docstring: "A counter of feedback visit responses",
- labels: %i[successful] + preset_labels.keys,
- preset_labels:,
- )
-
- prometheus.counter(
- :tta_feedback_rating_total,
- docstring: "A counter of feedback rating responses",
- labels: %i[rating] + preset_labels.keys,
- preset_labels:,
- )
-
- prometheus.counter(
- :tta_client_cookie_consent_total,
- docstring: "A counter of cookie consent",
- labels: %i[non_functional marketing] + preset_labels.keys,
- preset_labels:,
- )
- end
-end
diff --git a/lib/tasks/govuk_lint.rake b/lib/tasks/govuk_lint.rake
deleted file mode 100644
index 3e20d7964..000000000
--- a/lib/tasks/govuk_lint.rake
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace :lint do
- desc "Lint ruby code"
- task ruby: :environment do
- puts "Linting ruby..."
- system "bundle exec rubocop app config db lib spec Gemfile --format clang -a"
- end
-
- desc "Lint SCSS stylesheets"
- task scss: :environment do
- puts "Linting scss..."
- system "bundle exec scss-lint app/webpacker/styles"
- end
-end
diff --git a/lib/teacher_training_adviser/feedback_exporter.rb b/lib/teacher_training_adviser/feedback_exporter.rb
deleted file mode 100644
index 00457c29a..000000000
--- a/lib/teacher_training_adviser/feedback_exporter.rb
+++ /dev/null
@@ -1,43 +0,0 @@
-require "csv"
-
-module TeacherTrainingAdviser
- class FeedbackExporter
- EXPORTABLE_ATTRS = %w[
- id
- rating
- successful_visit
- unsuccessful_visit_explanation
- improvements
- created_at
- ].freeze
- CSV_INJECT_CHARS = %w[+ - @ =].freeze
-
- def initialize(feedback)
- @feedback = feedback
- end
-
- def to_csv
- CSV.generate do |csv|
- csv << EXPORTABLE_ATTRS
- @feedback.each do |f|
- csv << f.attributes
- .select { |k, _| EXPORTABLE_ATTRS.include?(k) }
- .values
- .map { |v| escape_csv_value(v) }
- end
- end
- end
-
- private
-
- def escape_csv_value(value)
- str_value = value.to_s.strip
-
- if CSV_INJECT_CHARS.include?(str_value.chars.first)
- "'#{str_value}"
- else
- str_value
- end
- end
- end
-end
diff --git a/package.json b/package.json
deleted file mode 100644
index a98b85b34..000000000
--- a/package.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "dependencies": {
- "@babel/core": "7",
- "@babel/plugin-transform-runtime": "7",
- "@babel/preset-env": "7",
- "@babel/runtime": "7",
- "@rails/ujs": "^7.0.4",
- "babel-loader": "9",
- "babel-plugin-macros": "^3.1.0",
- "compression-webpack-plugin": "10.0.0",
- "css-loader": "^6.7.2",
- "govuk-frontend": "^4.6.0",
- "js-cookie": "^3.0.1",
- "mini-css-extract-plugin": "^2.7.6",
- "sass": "^1.62.1",
- "sass-loader": "^13.3.1",
- "serialize-javascript": "^6.0.1",
- "set-value": "^4.0.1",
- "shakapacker": "7.1.0",
- "stimulus": "^3.2",
- "terser-webpack-plugin": "5",
- "turbolinks": "^5.2.0",
- "webpack": "5",
- "webpack-assets-manifest": "5",
- "webpack-cli": "5.1.4",
- "webpack-dev-server": "^4.11.1",
- "webpack-merge": "5.9.0"
- },
- "devDependencies": {
- "@stimulus/test": "^2.0.0",
- "@webpack-cli/serve": "^2.0.5",
- "jest": "^29.5.0",
- "jest-environment-jsdom": "^29.6.2"
- },
- "jest": {
- "testRegex": ".*_spec.js",
- "testEnvironment": "jsdom",
- "roots": [
- "spec/javascript"
- ],
- "moduleDirectories": [
- "node_modules",
- "app/webpacker/controllers",
- "app/webpacker/javascript"
- ]
- },
- "scripts": {
- "spec": "jest"
- },
- "browserslist": [
- "defaults",
- "not IE 11"
- ]
-}
diff --git a/postcss.config.js b/postcss.config.js
deleted file mode 100644
index 95c4ee2fb..000000000
--- a/postcss.config.js
+++ /dev/null
@@ -1,12 +0,0 @@
-module.exports = {
- plugins: [
- require('postcss-import'),
- require('postcss-flexbugs-fixes'),
- require('postcss-preset-env')({
- autoprefixer: {
- flexbox: 'no-2009'
- },
- stage: 3
- })
- ]
-};
diff --git a/public/apple-touch-icon-precomposed.png b/public/apple-touch-icon-precomposed.png
deleted file mode 100644
index e69de29bb..000000000
diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png
deleted file mode 100644
index e69de29bb..000000000
diff --git a/public/favicon.ico b/public/favicon.ico
deleted file mode 100644
index e69de29bb..000000000
diff --git a/sonar-project.properties b/sonar-project.properties
deleted file mode 100644
index adf76b288..000000000
--- a/sonar-project.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-sonar.cpd.exclusions=app/views/pages/**/*
-sonar.sources=app,lib,config
-sonar.tests=./spec
-sonar.exclusions=app/assets/**/*,app/webpacker/**/*,**/fake_endpoints.rb
-sonar.ruby.coverage.framework=RSpec
-sonar.coverage.exclusions=config/**/*
-sonar.ruby.rubocop.reportPath=rubocop-result.json
-sonar.ruby.coverage.reportPaths=coverage/.resultset.json
\ No newline at end of file
diff --git a/spec/capybara_driver_helper.rb b/spec/capybara_driver_helper.rb
deleted file mode 100644
index cdd1d37f9..000000000
--- a/spec/capybara_driver_helper.rb
+++ /dev/null
@@ -1,32 +0,0 @@
-require "capybara/rspec"
-
-JS_DRIVER = :selenium_chrome_headless
-
-Capybara.register_driver JS_DRIVER do |app|
- options = ::Selenium::WebDriver::Chrome::Options.new
-
- options.add_argument("--headless")
- options.add_argument("--no-sandbox")
- options.add_argument("--disable-dev-shm-usage")
- options.add_argument("--window-size=1400,1400")
-
- Capybara::Selenium::Driver.new(app, browser: :chrome, options:)
-end
-
-Capybara.configure do |config|
- config.default_driver = :rack_test
- config.javascript_driver = JS_DRIVER
- config.server = :puma, { Silent: true }
-end
-
-RSpec.configure do |config|
- config.before do |example|
- Capybara.current_driver = JS_DRIVER if example.metadata[:js]
- end
-
- config.after do
- Capybara.use_default_driver
- end
-end
-
-# WebMock.disable_net_connect!(allow_localhost: true)
diff --git a/spec/contracts/data/callback_booking_quotas.json b/spec/contracts/data/callback_booking_quotas.json
deleted file mode 100644
index 40c712620..000000000
--- a/spec/contracts/data/callback_booking_quotas.json
+++ /dev/null
@@ -1,12 +0,0 @@
-[
- {
- "timeSlot": "1:00 pm - 1:30 pm",
- "day": "Wednesday 24 March",
- "startAt": "2021-03-24T13:00:00:00Z",
- "endAt": "2021-03-24T13:30:00:00Z",
- "numberOfBookings": 0,
- "quota": 20,
- "isAvailable": true,
- "id": "8eea03be-eba1-eb11-b1ac-000d3abecc3f"
- }
-]
diff --git a/spec/contracts/data/lookup_items/countries.json b/spec/contracts/data/lookup_items/countries.json
deleted file mode 100644
index 8e913cb4b..000000000
--- a/spec/contracts/data/lookup_items/countries.json
+++ /dev/null
@@ -1,1002 +0,0 @@
-[
- {
- "id": "fdf3c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Afghanistan",
- "entityName": "dfe_country"
- },
- {
- "id": "fff3c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Albania",
- "entityName": "dfe_country"
- },
- {
- "id": "01f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Algeria",
- "entityName": "dfe_country"
- },
- {
- "id": "03f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Andorra",
- "entityName": "dfe_country"
- },
- {
- "id": "05f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Angola",
- "entityName": "dfe_country"
- },
- {
- "id": "07f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Antigua and Barbuda",
- "entityName": "dfe_country"
- },
- {
- "id": "09f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Argentina",
- "entityName": "dfe_country"
- },
- {
- "id": "0bf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Armenia",
- "entityName": "dfe_country"
- },
- {
- "id": "0df4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Australia",
- "entityName": "dfe_country"
- },
- {
- "id": "0ff4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Austria",
- "entityName": "dfe_country"
- },
- {
- "id": "11f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Azerbaijan",
- "entityName": "dfe_country"
- },
- {
- "id": "13f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Bahamas",
- "entityName": "dfe_country"
- },
- {
- "id": "15f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Bahrain",
- "entityName": "dfe_country"
- },
- {
- "id": "17f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Bangladesh",
- "entityName": "dfe_country"
- },
- {
- "id": "19f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Barbados",
- "entityName": "dfe_country"
- },
- {
- "id": "1bf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Belarus",
- "entityName": "dfe_country"
- },
- {
- "id": "1df4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Belgium",
- "entityName": "dfe_country"
- },
- {
- "id": "1ff4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Belize",
- "entityName": "dfe_country"
- },
- {
- "id": "21f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Benin",
- "entityName": "dfe_country"
- },
- {
- "id": "23f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Bhutan",
- "entityName": "dfe_country"
- },
- {
- "id": "25f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Bolivia",
- "entityName": "dfe_country"
- },
- {
- "id": "27f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Bosnia and Herzegovina",
- "entityName": "dfe_country"
- },
- {
- "id": "29f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Botswana",
- "entityName": "dfe_country"
- },
- {
- "id": "2bf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Brazil",
- "entityName": "dfe_country"
- },
- {
- "id": "2df4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "British Overseas Territories",
- "entityName": "dfe_country"
- },
- {
- "id": "2ff4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Brunei",
- "entityName": "dfe_country"
- },
- {
- "id": "31f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Bulgaria",
- "entityName": "dfe_country"
- },
- {
- "id": "33f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Burkina Faso",
- "entityName": "dfe_country"
- },
- {
- "id": "35f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Burundi",
- "entityName": "dfe_country"
- },
- {
- "id": "37f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Cambodia",
- "entityName": "dfe_country"
- },
- {
- "id": "39f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Cameroon",
- "entityName": "dfe_country"
- },
- {
- "id": "3bf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Canada",
- "entityName": "dfe_country"
- },
- {
- "id": "3df4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Cape Verde",
- "entityName": "dfe_country"
- },
- {
- "id": "3ff4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Central African Republic",
- "entityName": "dfe_country"
- },
- {
- "id": "41f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Chad",
- "entityName": "dfe_country"
- },
- {
- "id": "43f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Channel Islands",
- "entityName": "dfe_country"
- },
- {
- "id": "45f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Chile",
- "entityName": "dfe_country"
- },
- {
- "id": "47f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "China",
- "entityName": "dfe_country"
- },
- {
- "id": "49f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Colombia",
- "entityName": "dfe_country"
- },
- {
- "id": "4bf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Comoros",
- "entityName": "dfe_country"
- },
- {
- "id": "4df4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Congo",
- "entityName": "dfe_country"
- },
- {
- "id": "4ff4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Congo, The Democratic Republic of the",
- "entityName": "dfe_country"
- },
- {
- "id": "51f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Costa Rica",
- "entityName": "dfe_country"
- },
- {
- "id": "55f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Croatia",
- "entityName": "dfe_country"
- },
- {
- "id": "57f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Cuba",
- "entityName": "dfe_country"
- },
- {
- "id": "59f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Cyprus",
- "entityName": "dfe_country"
- },
- {
- "id": "5bf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Czech Republic",
- "entityName": "dfe_country"
- },
- {
- "id": "5df4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Denmark",
- "entityName": "dfe_country"
- },
- {
- "id": "5ff4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Djibouti",
- "entityName": "dfe_country"
- },
- {
- "id": "61f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Dominica",
- "entityName": "dfe_country"
- },
- {
- "id": "63f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Dominican Republic",
- "entityName": "dfe_country"
- },
- {
- "id": "65f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "East Timor",
- "entityName": "dfe_country"
- },
- {
- "id": "67f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Ecuador",
- "entityName": "dfe_country"
- },
- {
- "id": "69f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Egypt",
- "entityName": "dfe_country"
- },
- {
- "id": "6bf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "El Salvador",
- "entityName": "dfe_country"
- },
- {
- "id": "6df4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Equatorial Guinea",
- "entityName": "dfe_country"
- },
- {
- "id": "6ff4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Eritrea",
- "entityName": "dfe_country"
- },
- {
- "id": "71f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Estonia",
- "entityName": "dfe_country"
- },
- {
- "id": "73f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Ethiopia",
- "entityName": "dfe_country"
- },
- {
- "id": "75f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Falkland Islands (Malvinas)",
- "entityName": "dfe_country"
- },
- {
- "id": "77f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Fiji",
- "entityName": "dfe_country"
- },
- {
- "id": "79f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Finland",
- "entityName": "dfe_country"
- },
- {
- "id": "7bf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "France",
- "entityName": "dfe_country"
- },
- {
- "id": "7df4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Gabon",
- "entityName": "dfe_country"
- },
- {
- "id": "7ff4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Gambia",
- "entityName": "dfe_country"
- },
- {
- "id": "81f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Georgia",
- "entityName": "dfe_country"
- },
- {
- "id": "83f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Germany",
- "entityName": "dfe_country"
- },
- {
- "id": "85f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Ghana",
- "entityName": "dfe_country"
- },
- {
- "id": "87f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Gibraltar",
- "entityName": "dfe_country"
- },
- {
- "id": "89f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Greece",
- "entityName": "dfe_country"
- },
- {
- "id": "8bf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Grenada",
- "entityName": "dfe_country"
- },
- {
- "id": "8df4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Guatemala",
- "entityName": "dfe_country"
- },
- {
- "id": "8ff4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Guinea",
- "entityName": "dfe_country"
- },
- {
- "id": "9bf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Guinea-Bissau",
- "entityName": "dfe_country"
- },
- {
- "id": "91f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Guyana",
- "entityName": "dfe_country"
- },
- {
- "id": "93f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Haiti",
- "entityName": "dfe_country"
- },
- {
- "id": "95f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Honduras",
- "entityName": "dfe_country"
- },
- {
- "id": "97f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Hong Kong",
- "entityName": "dfe_country"
- },
- {
- "id": "99f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Hungary",
- "entityName": "dfe_country"
- },
- {
- "id": "9df4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Iceland",
- "entityName": "dfe_country"
- },
- {
- "id": "9ff4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "India",
- "entityName": "dfe_country"
- },
- {
- "id": "a1f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Indonesia",
- "entityName": "dfe_country"
- },
- {
- "id": "a3f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Iran, Islamic Republic of",
- "entityName": "dfe_country"
- },
- {
- "id": "a5f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Iraq",
- "entityName": "dfe_country"
- },
- {
- "id": "a7f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Isle of Man",
- "entityName": "dfe_country"
- },
- {
- "id": "a9f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Israel",
- "entityName": "dfe_country"
- },
- {
- "id": "abf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Italy",
- "entityName": "dfe_country"
- },
- {
- "id": "53f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Ivory Coast",
- "entityName": "dfe_country"
- },
- {
- "id": "adf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Jamaica",
- "entityName": "dfe_country"
- },
- {
- "id": "aff4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Japan",
- "entityName": "dfe_country"
- },
- {
- "id": "b2f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Jordan",
- "entityName": "dfe_country"
- },
- {
- "id": "b4f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Kazakhstan",
- "entityName": "dfe_country"
- },
- {
- "id": "b6f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Kenya",
- "entityName": "dfe_country"
- },
- {
- "id": "b8f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Kiribati",
- "entityName": "dfe_country"
- },
- {
- "id": "baf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Korea, Republic of",
- "entityName": "dfe_country"
- },
- {
- "id": "bcf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Kosovo",
- "entityName": "dfe_country"
- },
- {
- "id": "bef4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Kuwait",
- "entityName": "dfe_country"
- },
- {
- "id": "c0f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Kyrgyzstan",
- "entityName": "dfe_country"
- },
- {
- "id": "c2f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Laos",
- "entityName": "dfe_country"
- },
- {
- "id": "c4f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Latvia",
- "entityName": "dfe_country"
- },
- {
- "id": "c6f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Lebanon",
- "entityName": "dfe_country"
- },
- {
- "id": "c8f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Lesotho",
- "entityName": "dfe_country"
- },
- {
- "id": "caf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Liberia",
- "entityName": "dfe_country"
- },
- {
- "id": "d2f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Libya",
- "entityName": "dfe_country"
- },
- {
- "id": "ccf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Liechtenstein",
- "entityName": "dfe_country"
- },
- {
- "id": "cef4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Lithuania",
- "entityName": "dfe_country"
- },
- {
- "id": "d0f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Luxembourg",
- "entityName": "dfe_country"
- },
- {
- "id": "d4f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Macedonia, The Former Yugoslav Republic of",
- "entityName": "dfe_country"
- },
- {
- "id": "d6f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Madagascar",
- "entityName": "dfe_country"
- },
- {
- "id": "d8f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Malawi",
- "entityName": "dfe_country"
- },
- {
- "id": "daf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Malaysia",
- "entityName": "dfe_country"
- },
- {
- "id": "dcf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Maldives",
- "entityName": "dfe_country"
- },
- {
- "id": "def4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Mali",
- "entityName": "dfe_country"
- },
- {
- "id": "e0f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Malta",
- "entityName": "dfe_country"
- },
- {
- "id": "e2f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Marshall Islands",
- "entityName": "dfe_country"
- },
- {
- "id": "90958c2f-cbfe-e811-a982-000d3a276620",
- "value": "Martinique",
- "entityName": "dfe_country"
- },
- {
- "id": "88958c2f-cbfe-e811-a982-000d3a276620",
- "value": "Mauritania",
- "entityName": "dfe_country"
- },
- {
- "id": "e4f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Mauritius",
- "entityName": "dfe_country"
- },
- {
- "id": "e6f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Mexico",
- "entityName": "dfe_country"
- },
- {
- "id": "8a958c2f-cbfe-e811-a982-000d3a276620",
- "value": "Micronesia, Federated States of",
- "entityName": "dfe_country"
- },
- {
- "id": "e8f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Moldova, Republic of",
- "entityName": "dfe_country"
- },
- {
- "id": "eaf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Monaco",
- "entityName": "dfe_country"
- },
- {
- "id": "ecf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Mongolia",
- "entityName": "dfe_country"
- },
- {
- "id": "eef4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Montenegro",
- "entityName": "dfe_country"
- },
- {
- "id": "f0f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Morocco",
- "entityName": "dfe_country"
- },
- {
- "id": "f2f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Mozambique",
- "entityName": "dfe_country"
- },
- {
- "id": "f4f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Myanmar",
- "entityName": "dfe_country"
- },
- {
- "id": "f6f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Namibia",
- "entityName": "dfe_country"
- },
- {
- "id": "f8f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Nepal",
- "entityName": "dfe_country"
- },
- {
- "id": "faf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Netherlands",
- "entityName": "dfe_country"
- },
- {
- "id": "fcf4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Netherlands Antilles",
- "entityName": "dfe_country"
- },
- {
- "id": "fef4c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "New Zealand",
- "entityName": "dfe_country"
- },
- {
- "id": "00f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Nicaragua",
- "entityName": "dfe_country"
- },
- {
- "id": "02f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Niger",
- "entityName": "dfe_country"
- },
- {
- "id": "04f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Nigeria",
- "entityName": "dfe_country"
- },
- {
- "id": "06f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "North Korea",
- "entityName": "dfe_country"
- },
- {
- "id": "08f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Norway",
- "entityName": "dfe_country"
- },
- {
- "id": "0af5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Oman",
- "entityName": "dfe_country"
- },
- {
- "id": "0cf5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Pakistan",
- "entityName": "dfe_country"
- },
- {
- "id": "0ef5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Palau",
- "entityName": "dfe_country"
- },
- {
- "id": "10f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Palestinian Territory, Occupied",
- "entityName": "dfe_country"
- },
- {
- "id": "12f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Panama",
- "entityName": "dfe_country"
- },
- {
- "id": "14f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Papua New Guinea",
- "entityName": "dfe_country"
- },
- {
- "id": "16f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Paraguay",
- "entityName": "dfe_country"
- },
- {
- "id": "18f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Peru",
- "entityName": "dfe_country"
- },
- {
- "id": "1af5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Philippines",
- "entityName": "dfe_country"
- },
- {
- "id": "1cf5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Poland",
- "entityName": "dfe_country"
- },
- {
- "id": "1ef5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Portugal",
- "entityName": "dfe_country"
- },
- {
- "id": "20f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Qatar",
- "entityName": "dfe_country"
- },
- {
- "id": "22f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Republic Of Ireland",
- "entityName": "dfe_country"
- },
- {
- "id": "24f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Romania",
- "entityName": "dfe_country"
- },
- {
- "id": "26f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Russia",
- "entityName": "dfe_country"
- },
- {
- "id": "28f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Rwanda",
- "entityName": "dfe_country"
- },
- {
- "id": "2cf5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Saint Vincent and the Grenadines",
- "entityName": "dfe_country"
- },
- {
- "id": "2ef5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Sao Tome and Principe",
- "entityName": "dfe_country"
- },
- {
- "id": "30f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Saudi Arabia",
- "entityName": "dfe_country"
- },
- {
- "id": "32f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Senegal",
- "entityName": "dfe_country"
- },
- {
- "id": "34f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Serbia",
- "entityName": "dfe_country"
- },
- {
- "id": "36f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Seychelles",
- "entityName": "dfe_country"
- },
- {
- "id": "38f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Sierra Leone",
- "entityName": "dfe_country"
- },
- {
- "id": "3af5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Singapore",
- "entityName": "dfe_country"
- },
- {
- "id": "3cf5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Slovakia",
- "entityName": "dfe_country"
- },
- {
- "id": "3ef5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Slovenia",
- "entityName": "dfe_country"
- },
- {
- "id": "40f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Solomon Islands",
- "entityName": "dfe_country"
- },
- {
- "id": "42f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Somalia",
- "entityName": "dfe_country"
- },
- {
- "id": "44f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "South Africa",
- "entityName": "dfe_country"
- },
- {
- "id": "46f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Spain",
- "entityName": "dfe_country"
- },
- {
- "id": "48f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Sri Lanka",
- "entityName": "dfe_country"
- },
- {
- "id": "4af5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "St Kitts",
- "entityName": "dfe_country"
- },
- {
- "id": "4cf5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "St Lucia",
- "entityName": "dfe_country"
- },
- {
- "id": "4ef5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Sudan",
- "entityName": "dfe_country"
- },
- {
- "id": "50f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Suriname",
- "entityName": "dfe_country"
- },
- {
- "id": "52f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Swaziland",
- "entityName": "dfe_country"
- },
- {
- "id": "54f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Sweden",
- "entityName": "dfe_country"
- },
- {
- "id": "56f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Switzerland",
- "entityName": "dfe_country"
- },
- {
- "id": "58f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Syrian Arab Republic",
- "entityName": "dfe_country"
- },
- {
- "id": "5af5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Tajikistan",
- "entityName": "dfe_country"
- },
- {
- "id": "5cf5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Tanzania, United Republic of",
- "entityName": "dfe_country"
- },
- {
- "id": "5ef5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Thailand",
- "entityName": "dfe_country"
- },
- {
- "id": "60f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Togo",
- "entityName": "dfe_country"
- },
- {
- "id": "a414714f-b3ff-e811-a971-000d3a206976",
- "value": "Tonga",
- "entityName": "dfe_country"
- },
- {
- "id": "62f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Trinidad and Tobago",
- "entityName": "dfe_country"
- },
- {
- "id": "64f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Tunisia",
- "entityName": "dfe_country"
- },
- {
- "id": "66f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Turkey",
- "entityName": "dfe_country"
- },
- {
- "id": "68f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Turkmenistan",
- "entityName": "dfe_country"
- },
- {
- "id": "6af5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Tuvalu",
- "entityName": "dfe_country"
- },
- {
- "id": "6cf5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Uganda",
- "entityName": "dfe_country"
- },
- {
- "id": "6ef5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Ukraine",
- "entityName": "dfe_country"
- },
- {
- "id": "70f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "United Arab Emirates",
- "entityName": "dfe_country"
- },
- {
- "id": "72f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "United Kingdom",
- "entityName": "dfe_country"
- },
- {
- "id": "74f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "United States",
- "entityName": "dfe_country"
- },
- {
- "id": "76f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Unknown",
- "entityName": "dfe_country"
- },
- {
- "id": "78f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Uruguay",
- "entityName": "dfe_country"
- },
- {
- "id": "7af5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Uzbekistan",
- "entityName": "dfe_country"
- },
- {
- "id": "7cf5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Vanuatu",
- "entityName": "dfe_country"
- },
- {
- "id": "7ef5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Venezuela",
- "entityName": "dfe_country"
- },
- {
- "id": "80f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Vietnam",
- "entityName": "dfe_country"
- },
- {
- "id": "82f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Yemen",
- "entityName": "dfe_country"
- },
- {
- "id": "84f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Zambia",
- "entityName": "dfe_country"
- },
- {
- "id": "86f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "value": "Zimbabwe",
- "entityName": "dfe_country"
- }
-]
diff --git a/spec/contracts/data/lookup_items/teaching_subjects.json b/spec/contracts/data/lookup_items/teaching_subjects.json
deleted file mode 100644
index 50ac74eaa..000000000
--- a/spec/contracts/data/lookup_items/teaching_subjects.json
+++ /dev/null
@@ -1,172 +0,0 @@
-[
- {
- "id": "6b793433-cd1f-e911-a979-000d3a20838a",
- "value": "Art",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "7e2655a1-2afa-e811-a981-000d3a276620",
- "value": "Art and design",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "802655a1-2afa-e811-a981-000d3a276620",
- "value": "Biology",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "822655a1-2afa-e811-a981-000d3a276620",
- "value": "Business studies",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "842655a1-2afa-e811-a981-000d3a276620",
- "value": "Chemistry",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "862655a1-2afa-e811-a981-000d3a276620",
- "value": "Citizenship",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "882655a1-2afa-e811-a981-000d3a276620",
- "value": "Classics",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "8a2655a1-2afa-e811-a981-000d3a276620",
- "value": "Computing",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "8c2655a1-2afa-e811-a981-000d3a276620",
- "value": "Dance",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "8e2655a1-2afa-e811-a981-000d3a276620",
- "value": "Design and technology",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "902655a1-2afa-e811-a981-000d3a276620",
- "value": "Drama",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "922655a1-2afa-e811-a981-000d3a276620",
- "value": "Economics",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "942655a1-2afa-e811-a981-000d3a276620",
- "value": "English",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "962655a1-2afa-e811-a981-000d3a276620",
- "value": "French",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "982655a1-2afa-e811-a981-000d3a276620",
- "value": "General science",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "9a2655a1-2afa-e811-a981-000d3a276620",
- "value": "Geography",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "9c2655a1-2afa-e811-a981-000d3a276620",
- "value": "German",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "9e2655a1-2afa-e811-a981-000d3a276620",
- "value": "Health and social care",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "a02655a1-2afa-e811-a981-000d3a276620",
- "value": "History",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "a22655a1-2afa-e811-a981-000d3a276620",
- "value": "Languages (other)",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "a42655a1-2afa-e811-a981-000d3a276620",
- "value": "Maths",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "a62655a1-2afa-e811-a981-000d3a276620",
- "value": "Media studies",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "a82655a1-2afa-e811-a981-000d3a276620",
- "value": "Music",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "aa2655a1-2afa-e811-a981-000d3a276620",
- "value": "Physical education",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "ac2655a1-2afa-e811-a981-000d3a276620",
- "value": "Physics",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "ae2655a1-2afa-e811-a981-000d3a276620",
- "value": "Physics with maths",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "b02655a1-2afa-e811-a981-000d3a276620",
- "value": "Primary",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "b22655a1-2afa-e811-a981-000d3a276620",
- "value": "Psychology",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "b42655a1-2afa-e811-a981-000d3a276620",
- "value": "Religious education",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "b62655a1-2afa-e811-a981-000d3a276620",
- "value": "Social sciences",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "b82655a1-2afa-e811-a981-000d3a276620",
- "value": "Spanish",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "ba2655a1-2afa-e811-a981-000d3a276620",
- "value": "Vocational health",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "bc2655a1-2afa-e811-a981-000d3a276620",
- "value": "Other",
- "entityName": "dfe_teachingsubjectlist"
- },
- {
- "id": "bc68e0c1-7212-e911-a974-000d3a206976",
- "value": "No preference",
- "entityName": "dfe_teachingsubjectlist"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/candidate/adviser_eligibilities.json b/spec/contracts/data/pick_list_items/candidate/adviser_eligibilities.json
deleted file mode 100644
index 9cf26861d..000000000
--- a/spec/contracts/data/pick_list_items/candidate/adviser_eligibilities.json
+++ /dev/null
@@ -1,26 +0,0 @@
-[
- {
- "id": 222750000,
- "value": "Yes",
- "entityName": "contact",
- "attributeName": "dfe_iscandidateeligibleforadviser"
- },
- {
- "id": 222750001,
- "value": "No",
- "entityName": "contact",
- "attributeName": "dfe_iscandidateeligibleforadviser"
- },
- {
- "id": 222750002,
- "value": "Unable to assess",
- "entityName": "contact",
- "attributeName": "dfe_iscandidateeligibleforadviser"
- },
- {
- "id": 222750003,
- "value": "Not yet triaged",
- "entityName": "contact",
- "attributeName": "dfe_iscandidateeligibleforadviser"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/candidate/adviser_requirements.json b/spec/contracts/data/pick_list_items/candidate/adviser_requirements.json
deleted file mode 100644
index fdb9b7d12..000000000
--- a/spec/contracts/data/pick_list_items/candidate/adviser_requirements.json
+++ /dev/null
@@ -1,14 +0,0 @@
-[
- {
- "id": 222750000,
- "value": "No",
- "entityName": "contact",
- "attributeName": "dfe_isadvisorrequiredos"
- },
- {
- "id": 222750001,
- "value": "Yes",
- "entityName": "contact",
- "attributeName": "dfe_isadvisorrequiredos"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/candidate/assignment_status.json b/spec/contracts/data/pick_list_items/candidate/assignment_status.json
deleted file mode 100644
index ec960113b..000000000
--- a/spec/contracts/data/pick_list_items/candidate/assignment_status.json
+++ /dev/null
@@ -1,26 +0,0 @@
-[
- {
- "id": 222750000,
- "value": "Unassigned",
- "entityName": "contact",
- "attributeName": "dfe_candidatestatus"
- },
- {
- "id": 222750001,
- "value": "Waiting to be assigned",
- "entityName": "contact",
- "attributeName": "dfe_candidatestatus"
- },
- {
- "id": 222750002,
- "value": "Assigned",
- "entityName": "contact",
- "attributeName": "dfe_candidatestatus"
- },
- {
- "id": 222750003,
- "value": "Previously Assigned Candidate",
- "entityName": "contact",
- "attributeName": "dfe_candidatestatus"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/candidate/channels.json b/spec/contracts/data/pick_list_items/candidate/channels.json
deleted file mode 100644
index 5fb86b158..000000000
--- a/spec/contracts/data/pick_list_items/candidate/channels.json
+++ /dev/null
@@ -1,260 +0,0 @@
-[
- {
- "id": 222750000,
- "value": "Graduate Promotions Registration",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750001,
- "value": "Campus Registrations - Unknown event type",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750002,
- "value": "Grad Fayre Registrations",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750003,
- "value": "University Campus Pop-up Registrations",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750004,
- "value": "University Campus Registrations",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750005,
- "value": "Web Registration",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750006,
- "value": "UCAS Registration",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750007,
- "value": "GITIS Web Registration",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750008,
- "value": "GITIS Web Registration - with Callback",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750009,
- "value": "GITIS Web Registration - Event driven",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750010,
- "value": "GITIS Web Registration - Event driven with Callback",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750011,
- "value": "Within Dynamics",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750012,
- "value": "NCTL University Campus Virtual Pop-up Registrations",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750013,
- "value": "Off Campus",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750014,
- "value": "Teach First",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750015,
- "value": "Early Years Registration - Historic",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750016,
- "value": "Inbound Email - Historic",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750017,
- "value": "Paper-Based Registrations - Historic",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750018,
- "value": "Unknown - Historic",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750019,
- "value": "RTT Web Registration",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750020,
- "value": "Scholarship Registration",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750021,
- "value": "School Experience - Web Registration",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750022,
- "value": "Shopping Centre Pop-Up Event Registrations - Historic",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750023,
- "value": "Freshers Fair",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750024,
- "value": "Inbound Call",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750025,
- "value": "Apply for Teacher Training",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750026,
- "value": "Internship",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750027,
- "value": "GITIS - TTA Service",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750028,
- "value": "GITIS - Mailing List Service",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750029,
- "value": "GITIS - Events Service",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750030,
- "value": "GITIS - On Campus - Brand Ambassador activity",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750031,
- "value": "GITIS - On Campus - Virtual Grad Fairs",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750032,
- "value": "GITIS - On Campus - Online events (students)",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750033,
- "value": "GITIS - On Campus - Virtual Pop-up events",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750034,
- "value": "GITIS - On Campus - Refreshers Fairs",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750035,
- "value": "GITIS - On Campus - Social media",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750036,
- "value": "GITIS - On Campus - Commercial emails",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750037,
- "value": "GITIS - On Campus - Careers Services activity",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750038,
- "value": "GITIS - On Campus - Students Union Media",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750039,
- "value": "GITIS - On Campus - Grad Fairs (face-to-face)",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750040,
- "value": "GITIS - On Campus - Pop-up events (face-to-face)",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750041,
- "value": "Within Dynamics - Website",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750042,
- "value": "Highfliers",
- "entityName": "contact",
- "attributeName": "dfe_channelcreation"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/candidate/event_subscription_channels.json b/spec/contracts/data/pick_list_items/candidate/event_subscription_channels.json
deleted file mode 100644
index ae4c6e359..000000000
--- a/spec/contracts/data/pick_list_items/candidate/event_subscription_channels.json
+++ /dev/null
@@ -1,80 +0,0 @@
-[
- {
- "id": 222750000,
- "value": "GITIS Events Service",
- "entityName": "contact",
- "attributeName": "dfe_gitiseventsservicesubscriptionchannel"
- },
- {
- "id": 222750001,
- "value": "Within Dynamics",
- "entityName": "contact",
- "attributeName": "dfe_gitiseventsservicesubscriptionchannel"
- },
- {
- "id": 222750030,
- "value": "GITIS - On Campus - Brand Ambassador activity",
- "entityName": "contact",
- "attributeName": "dfe_gitiseventsservicesubscriptionchannel"
- },
- {
- "id": 222750031,
- "value": "GITIS - On Campus - Virtual Grad Fairs",
- "entityName": "contact",
- "attributeName": "dfe_gitiseventsservicesubscriptionchannel"
- },
- {
- "id": 222750032,
- "value": "GITIS - On Campus - Online events (students)",
- "entityName": "contact",
- "attributeName": "dfe_gitiseventsservicesubscriptionchannel"
- },
- {
- "id": 222750033,
- "value": "GITIS - On Campus - Virtual Pop-up events",
- "entityName": "contact",
- "attributeName": "dfe_gitiseventsservicesubscriptionchannel"
- },
- {
- "id": 222750034,
- "value": "GITIS - On Campus - Refreshers Fairs",
- "entityName": "contact",
- "attributeName": "dfe_gitiseventsservicesubscriptionchannel"
- },
- {
- "id": 222750035,
- "value": "GITIS - On Campus - Social media",
- "entityName": "contact",
- "attributeName": "dfe_gitiseventsservicesubscriptionchannel"
- },
- {
- "id": 222750036,
- "value": "GITIS - On Campus - Commercial emails",
- "entityName": "contact",
- "attributeName": "dfe_gitiseventsservicesubscriptionchannel"
- },
- {
- "id": 222750037,
- "value": "GITIS - On Campus - Careers Services activity",
- "entityName": "contact",
- "attributeName": "dfe_gitiseventsservicesubscriptionchannel"
- },
- {
- "id": 222750038,
- "value": "GITIS - On Campus - Students Union Media",
- "entityName": "contact",
- "attributeName": "dfe_gitiseventsservicesubscriptionchannel"
- },
- {
- "id": 222750039,
- "value": "GITIS - On Campus - Grad Fairs (face-to-face)",
- "entityName": "contact",
- "attributeName": "dfe_gitiseventsservicesubscriptionchannel"
- },
- {
- "id": 222750040,
- "value": "GITIS - On Campus - Pop-up events (face-to-face)",
- "entityName": "contact",
- "attributeName": "dfe_gitiseventsservicesubscriptionchannel"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/candidate/gcse_status.json b/spec/contracts/data/pick_list_items/candidate/gcse_status.json
deleted file mode 100644
index 776b74f24..000000000
--- a/spec/contracts/data/pick_list_items/candidate/gcse_status.json
+++ /dev/null
@@ -1,14 +0,0 @@
-[
- {
- "id": 222750000,
- "value": "Completed GCSE",
- "entityName": "contact",
- "attributeName": "dfe_websitehasgcseenglish"
- },
- {
- "id": 222750001,
- "value": "Not Answered",
- "entityName": "contact",
- "attributeName": "dfe_websitehasgcseenglish"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/candidate/initial_teacher_training_years.json b/spec/contracts/data/pick_list_items/candidate/initial_teacher_training_years.json
deleted file mode 100644
index 16d58a2dc..000000000
--- a/spec/contracts/data/pick_list_items/candidate/initial_teacher_training_years.json
+++ /dev/null
@@ -1,104 +0,0 @@
-[
- {
- "id": 12907,
- "value": "2009",
- "entityName": "contact",
- "attributeName": "dfe_ittyear"
- },
- {
- "id": 12908,
- "value": "2010",
- "entityName": "contact",
- "attributeName": "dfe_ittyear"
- },
- {
- "id": 12909,
- "value": "2011",
- "entityName": "contact",
- "attributeName": "dfe_ittyear"
- },
- {
- "id": 12910,
- "value": "2012",
- "entityName": "contact",
- "attributeName": "dfe_ittyear"
- },
- {
- "id": 12911,
- "value": "2013",
- "entityName": "contact",
- "attributeName": "dfe_ittyear"
- },
- {
- "id": 12912,
- "value": "2014",
- "entityName": "contact",
- "attributeName": "dfe_ittyear"
- },
- {
- "id": 12913,
- "value": "2015",
- "entityName": "contact",
- "attributeName": "dfe_ittyear"
- },
- {
- "id": 12914,
- "value": "2016",
- "entityName": "contact",
- "attributeName": "dfe_ittyear"
- },
- {
- "id": 12917,
- "value": "Not sure",
- "entityName": "contact",
- "attributeName": "dfe_ittyear"
- },
- {
- "id": 12918,
- "value": "2017",
- "entityName": "contact",
- "attributeName": "dfe_ittyear"
- },
- {
- "id": 22300,
- "value": "2018",
- "entityName": "contact",
- "attributeName": "dfe_ittyear"
- },
- {
- "id": 22301,
- "value": "2019",
- "entityName": "contact",
- "attributeName": "dfe_ittyear"
- },
- {
- "id": 22302,
- "value": "2020",
- "entityName": "contact",
- "attributeName": "dfe_ittyear"
- },
- {
- "id": 22303,
- "value": "2021",
- "entityName": "contact",
- "attributeName": "dfe_ittyear"
- },
- {
- "id": 22304,
- "value": "2022",
- "entityName": "contact",
- "attributeName": "dfe_ittyear"
- },
- {
- "id": 22305,
- "value": "2023",
- "entityName": "contact",
- "attributeName": "dfe_ittyear"
- },
- {
- "id": 22306,
- "value": "2024",
- "entityName": "contact",
- "attributeName": "dfe_ittyear"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/candidate/journey_stages.json b/spec/contracts/data/pick_list_items/candidate/journey_stages.json
deleted file mode 100644
index ebe4a4336..000000000
--- a/spec/contracts/data/pick_list_items/candidate/journey_stages.json
+++ /dev/null
@@ -1,26 +0,0 @@
-[
- {
- "id": 222750000,
- "value": "It’s just an idea",
- "entityName": "contact",
- "attributeName": "dfe_websitewhereinconsiderationjourney"
- },
- {
- "id": 222750001,
- "value": "I’m not sure and finding out more",
- "entityName": "contact",
- "attributeName": "dfe_websitewhereinconsiderationjourney"
- },
- {
- "id": 222750002,
- "value": "I’m fairly sure and exploring my options",
- "entityName": "contact",
- "attributeName": "dfe_websitewhereinconsiderationjourney"
- },
- {
- "id": 222750003,
- "value": "I’m very sure and think I’ll apply",
- "entityName": "contact",
- "attributeName": "dfe_websitewhereinconsiderationjourney"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/candidate/mailing_list_subscription_channels.json b/spec/contracts/data/pick_list_items/candidate/mailing_list_subscription_channels.json
deleted file mode 100644
index 76cd876a2..000000000
--- a/spec/contracts/data/pick_list_items/candidate/mailing_list_subscription_channels.json
+++ /dev/null
@@ -1,80 +0,0 @@
-[
- {
- "id": 222750000,
- "value": "GITIS Mailing List Service",
- "entityName": "contact",
- "attributeName": "dfe_gitismlservicesubscriptionchannel"
- },
- {
- "id": 222750001,
- "value": "Within Dynamics",
- "entityName": "contact",
- "attributeName": "dfe_gitismlservicesubscriptionchannel"
- },
- {
- "id": 222750030,
- "value": "GITIS - On Campus - Brand Ambassador activity",
- "entityName": "contact",
- "attributeName": "dfe_gitismlservicesubscriptionchannel"
- },
- {
- "id": 222750031,
- "value": "GITIS - On Campus - Virtual Grad Fairs",
- "entityName": "contact",
- "attributeName": "dfe_gitismlservicesubscriptionchannel"
- },
- {
- "id": 222750032,
- "value": "GITIS - On Campus - Online events (students)",
- "entityName": "contact",
- "attributeName": "dfe_gitismlservicesubscriptionchannel"
- },
- {
- "id": 222750033,
- "value": "GITIS - On Campus - Virtual Pop-up events",
- "entityName": "contact",
- "attributeName": "dfe_gitismlservicesubscriptionchannel"
- },
- {
- "id": 222750034,
- "value": "GITIS - On Campus - Refreshers Fairs",
- "entityName": "contact",
- "attributeName": "dfe_gitismlservicesubscriptionchannel"
- },
- {
- "id": 222750035,
- "value": "GITIS - On Campus - Social media",
- "entityName": "contact",
- "attributeName": "dfe_gitismlservicesubscriptionchannel"
- },
- {
- "id": 222750036,
- "value": "GITIS - On Campus - Commercial emails",
- "entityName": "contact",
- "attributeName": "dfe_gitismlservicesubscriptionchannel"
- },
- {
- "id": 222750037,
- "value": "GITIS - On Campus - Careers Services activity",
- "entityName": "contact",
- "attributeName": "dfe_gitismlservicesubscriptionchannel"
- },
- {
- "id": 222750038,
- "value": "GITIS - On Campus - Students Union Media",
- "entityName": "contact",
- "attributeName": "dfe_gitismlservicesubscriptionchannel"
- },
- {
- "id": 222750039,
- "value": "GITIS - On Campus - Grad Fairs (face-to-face)",
- "entityName": "contact",
- "attributeName": "dfe_gitismlservicesubscriptionchannel"
- },
- {
- "id": 222750040,
- "value": "GITIS - On Campus - Pop-up events (face-to-face)",
- "entityName": "contact",
- "attributeName": "dfe_gitismlservicesubscriptionchannel"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/candidate/preferred_education_phases.json b/spec/contracts/data/pick_list_items/candidate/preferred_education_phases.json
deleted file mode 100644
index ff153a200..000000000
--- a/spec/contracts/data/pick_list_items/candidate/preferred_education_phases.json
+++ /dev/null
@@ -1,50 +0,0 @@
-[
- {
- "id": 222750000,
- "value": "Primary",
- "entityName": "contact",
- "attributeName": "dfe_preferrededucationphase01"
- },
- {
- "id": 222750001,
- "value": "Secondary",
- "entityName": "contact",
- "attributeName": "dfe_preferrededucationphase01"
- },
- {
- "id": 222750002,
- "value": "Further Education",
- "entityName": "contact",
- "attributeName": "dfe_preferrededucationphase01"
- },
- {
- "id": 222750003,
- "value": "Other",
- "entityName": "contact",
- "attributeName": "dfe_preferrededucationphase01"
- },
- {
- "id": 222750004,
- "value": "Middle",
- "entityName": "contact",
- "attributeName": "dfe_preferrededucationphase01"
- },
- {
- "id": 222750005,
- "value": "Higher Education",
- "entityName": "contact",
- "attributeName": "dfe_preferrededucationphase01"
- },
- {
- "id": 222750006,
- "value": "Teaching adults",
- "entityName": "contact",
- "attributeName": "dfe_preferrededucationphase01"
- },
- {
- "id": 222750007,
- "value": "Early years",
- "entityName": "contact",
- "attributeName": "dfe_preferrededucationphase01"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/candidate/retake_gcse_status.json b/spec/contracts/data/pick_list_items/candidate/retake_gcse_status.json
deleted file mode 100644
index a4cb27b82..000000000
--- a/spec/contracts/data/pick_list_items/candidate/retake_gcse_status.json
+++ /dev/null
@@ -1,14 +0,0 @@
-[
- {
- "id": 222750000,
- "value": "Planning on Retaking GCSE",
- "entityName": "contact",
- "attributeName": "dfe_websiteplanningretakeenglishgcse"
- },
- {
- "id": 222750001,
- "value": "Not Answered",
- "entityName": "contact",
- "attributeName": "dfe_websiteplanningretakeenglishgcse"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/candidate/types.json b/spec/contracts/data/pick_list_items/candidate/types.json
deleted file mode 100644
index 4b75ba415..000000000
--- a/spec/contracts/data/pick_list_items/candidate/types.json
+++ /dev/null
@@ -1,14 +0,0 @@
-[
- {
- "id": 222750000,
- "value": "ITT",
- "entityName": "contact",
- "attributeName": "dfe_typeofcandidate"
- },
- {
- "id": 222750001,
- "value": "RTT",
- "entityName": "contact",
- "attributeName": "dfe_typeofcandidate"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/past_teaching_position/education_phases.json b/spec/contracts/data/pick_list_items/past_teaching_position/education_phases.json
deleted file mode 100644
index 845ce147c..000000000
--- a/spec/contracts/data/pick_list_items/past_teaching_position/education_phases.json
+++ /dev/null
@@ -1,50 +0,0 @@
-[
- {
- "id": 222750000,
- "value": "Primary",
- "entityName": "dfe_candidatepastteachingposition",
- "attributeName": "dfe_educationphase"
- },
- {
- "id": 222750001,
- "value": "Secondary",
- "entityName": "dfe_candidatepastteachingposition",
- "attributeName": "dfe_educationphase"
- },
- {
- "id": 222750002,
- "value": "Further Education",
- "entityName": "dfe_candidatepastteachingposition",
- "attributeName": "dfe_educationphase"
- },
- {
- "id": 222750003,
- "value": "Other",
- "entityName": "dfe_candidatepastteachingposition",
- "attributeName": "dfe_educationphase"
- },
- {
- "id": 222750004,
- "value": "Middle",
- "entityName": "dfe_candidatepastteachingposition",
- "attributeName": "dfe_educationphase"
- },
- {
- "id": 222750005,
- "value": "Higher Education",
- "entityName": "dfe_candidatepastteachingposition",
- "attributeName": "dfe_educationphase"
- },
- {
- "id": 222750006,
- "value": "Teaching adults",
- "entityName": "dfe_candidatepastteachingposition",
- "attributeName": "dfe_educationphase"
- },
- {
- "id": 222750007,
- "value": "Early years",
- "entityName": "dfe_candidatepastteachingposition",
- "attributeName": "dfe_educationphase"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/phone_call/channels.json b/spec/contracts/data/pick_list_items/phone_call/channels.json
deleted file mode 100644
index 9f56f5c5b..000000000
--- a/spec/contracts/data/pick_list_items/phone_call/channels.json
+++ /dev/null
@@ -1,26 +0,0 @@
-[
- {
- "id": 222750000,
- "value": "Callback request",
- "entityName": "phonecall",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750001,
- "value": "Within Dynamics",
- "entityName": "phonecall",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750002,
- "value": "Summer campaign",
- "entityName": "phonecall",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750003,
- "value": "GITIS-Website Callback request",
- "entityName": "phonecall",
- "attributeName": "dfe_channelcreation"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/qualification/degree_status.json b/spec/contracts/data/pick_list_items/qualification/degree_status.json
deleted file mode 100644
index e3af9e694..000000000
--- a/spec/contracts/data/pick_list_items/qualification/degree_status.json
+++ /dev/null
@@ -1,38 +0,0 @@
-[
- {
- "id": 222750000,
- "value": "Graduate or postgraduate",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_degreestatus"
- },
- {
- "id": 222750001,
- "value": "Final year",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_degreestatus"
- },
- {
- "id": 222750002,
- "value": "Second year",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_degreestatus"
- },
- {
- "id": 222750003,
- "value": "First year",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_degreestatus"
- },
- {
- "id": 222750004,
- "value": "I don't have a degree and am not studying for one",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_degreestatus"
- },
- {
- "id": 222750005,
- "value": "Other",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_degreestatus"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/qualification/types.json b/spec/contracts/data/pick_list_items/qualification/types.json
deleted file mode 100644
index c6f326bc8..000000000
--- a/spec/contracts/data/pick_list_items/qualification/types.json
+++ /dev/null
@@ -1,56 +0,0 @@
-[
- {
- "id": 222750000,
- "value": "Degree",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_type"
- },
- {
- "id": 222750001,
- "value": "Professional/vocational",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_type"
- },
- {
- "id": 222750002,
- "value": "Teaching qualification",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_type"
- },
- {
- "id": 222750003,
- "value": "Undergraduate",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_type"
- },
- {
- "id": 222750004,
- "value": "Other",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_type"
- },
- {
- "id": 222750005,
- "value": "Degree Equivalent",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_type"
- },
- {
- "id": 222750006,
- "value": "Postgraduate",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_type"
- },
- {
- "id": 222750007,
- "value": "A level or equivalent",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_type"
- },
- {
- "id": 222750008,
- "value": "GCSE or equivalent",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_type"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/qualification/uk_degree_grades.json b/spec/contracts/data/pick_list_items/qualification/uk_degree_grades.json
deleted file mode 100644
index 6644e7aaa..000000000
--- a/spec/contracts/data/pick_list_items/qualification/uk_degree_grades.json
+++ /dev/null
@@ -1,38 +0,0 @@
-[
- {
- "id": "222750000",
- "value": "Not applicable",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_ukdegreegrade"
- },
- {
- "id": "222750001",
- "value": "First class",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_ukdegreegrade"
- },
- {
- "id": "222750002",
- "value": "2:1",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_ukdegreegrade"
- },
- {
- "id": "222750003",
- "value": "2:2",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_ukdegreegrade"
- },
- {
- "id": "222750004",
- "value": "Third class or below",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_ukdegreegrade"
- },
- {
- "id": "222750005",
- "value": "Pass (grade unknown)",
- "entityName": "dfe_candidatequalification",
- "attributeName": "dfe_ukdegreegrade"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/subscription/types.json b/spec/contracts/data/pick_list_items/subscription/types.json
deleted file mode 100644
index b3f19f3dd..000000000
--- a/spec/contracts/data/pick_list_items/subscription/types.json
+++ /dev/null
@@ -1,26 +0,0 @@
-[
- {
- "id": 222750000,
- "value": "EVENT",
- "entityName": "dfe_servicesubscription",
- "attributeName": "dfe_servicesubscriptiontype"
- },
- {
- "id": 222750001,
- "value": "Marketing",
- "entityName": "dfe_servicesubscription",
- "attributeName": "dfe_servicesubscriptiontype"
- },
- {
- "id": 222750002,
- "value": "TTA Registration",
- "entityName": "dfe_servicesubscription",
- "attributeName": "dfe_servicesubscriptiontype"
- },
- {
- "id": 222750003,
- "value": "Single Event",
- "entityName": "dfe_servicesubscription",
- "attributeName": "dfe_servicesubscriptiontype"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/teaching_event/status.json b/spec/contracts/data/pick_list_items/teaching_event/status.json
deleted file mode 100644
index bd1a953db..000000000
--- a/spec/contracts/data/pick_list_items/teaching_event/status.json
+++ /dev/null
@@ -1,26 +0,0 @@
-[
- {
- "id": 222750000,
- "value": "Open",
- "entityName": "msevtmgt_event",
- "attributeName": "dfe_eventstatus"
- },
- {
- "id": 222750001,
- "value": "Closed",
- "entityName": "msevtmgt_event",
- "attributeName": "dfe_eventstatus"
- },
- {
- "id": 222750002,
- "value": "In Draft",
- "entityName": "msevtmgt_event",
- "attributeName": "dfe_eventstatus"
- },
- {
- "id": 222750003,
- "value": "Pending Review - submitted by 3rd party",
- "entityName": "msevtmgt_event",
- "attributeName": "dfe_eventstatus"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/teaching_event/types.json b/spec/contracts/data/pick_list_items/teaching_event/types.json
deleted file mode 100644
index da47f27e8..000000000
--- a/spec/contracts/data/pick_list_items/teaching_event/types.json
+++ /dev/null
@@ -1,74 +0,0 @@
-[
- {
- "id": 222750000,
- "value": "Application Workshop",
- "entityName": "msevtmgt_event",
- "attributeName": "dfe_event_type"
- },
- {
- "id": 222750001,
- "value": "Train to Teach event",
- "entityName": "msevtmgt_event",
- "attributeName": "dfe_event_type"
- },
- {
- "id": 222750002,
- "value": "Executive Briefing",
- "entityName": "msevtmgt_event",
- "attributeName": "dfe_event_type"
- },
- {
- "id": 222750003,
- "value": "Conference",
- "entityName": "msevtmgt_event",
- "attributeName": "dfe_event_type"
- },
- {
- "id": 222750004,
- "value": "Demonstration",
- "entityName": "msevtmgt_event",
- "attributeName": "dfe_event_type"
- },
- {
- "id": 222750005,
- "value": "Training",
- "entityName": "msevtmgt_event",
- "attributeName": "dfe_event_type"
- },
- {
- "id": 222750006,
- "value": "Webcast",
- "entityName": "msevtmgt_event",
- "attributeName": "dfe_event_type"
- },
- {
- "id": 222750007,
- "value": "Question Time",
- "entityName": "msevtmgt_event",
- "attributeName": "dfe_event_type"
- },
- {
- "id": 222750008,
- "value": "Online event",
- "entityName": "msevtmgt_event",
- "attributeName": "dfe_event_type"
- },
- {
- "id": 222750009,
- "value": "School or university event",
- "entityName": "msevtmgt_event",
- "attributeName": "dfe_event_type"
- },
- {
- "id": 222750010,
- "value": "Early Year event",
- "entityName": "msevtmgt_event",
- "attributeName": "dfe_event_type"
- },
- {
- "id": 222750011,
- "value": "Other type of event",
- "entityName": "msevtmgt_event",
- "attributeName": "dfe_event_type"
- }
-]
diff --git a/spec/contracts/data/pick_list_items/teaching_event_registration/channels.json b/spec/contracts/data/pick_list_items/teaching_event_registration/channels.json
deleted file mode 100644
index 088157378..000000000
--- a/spec/contracts/data/pick_list_items/teaching_event_registration/channels.json
+++ /dev/null
@@ -1,26 +0,0 @@
-[
- {
- "id": 222750000,
- "value": "Online event RVSP",
- "entityName": "msevtmgt_eventregistration",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750001,
- "value": "Online event RSVP and registration",
- "entityName": "msevtmgt_eventregistration",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750002,
- "value": "Created within Dynamics",
- "entityName": "msevtmgt_eventregistration",
- "attributeName": "dfe_channelcreation"
- },
- {
- "id": 222750003,
- "value": "GITIS - Event service",
- "entityName": "msevtmgt_eventregistration",
- "attributeName": "dfe_channelcreation"
- }
-]
diff --git a/spec/contracts/data/privacy_policy.json b/spec/contracts/data/privacy_policy.json
deleted file mode 100644
index 32fbce504..000000000
--- a/spec/contracts/data/privacy_policy.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "text": "
Legal information
Privacy Notice: Get into Teaching Information Service
Who we are
Department for Education
Mentions of “us” and “we” mean DfE and “you” means anyone using this service.
This work is being carried out by the Department for Education (DfE). For the purpose of data protection legislation, the DfE is the data controller for the personal data processed as part of the Get Into Teaching Information Service, including the Get School Experience service.
To access our teacher training adviser service, you need to be over 18 years old, and over 16 years old to access our mailing and teaching events service.
Why we need your personal data
We’ve created a service that lets you;
get an adviser
signup for teaching events
sign up for updates
When you provide us with your personal data, we process it and provide you with tailored advice and information about; teacher training, teaching as a career and teaching events. These services will help you to make an informed decision about becoming a teacher or returning to teaching.
Get an adviser
Personal data we collect
When you sign up to get an adviser we collect personal data such as your;
first name
last name
email address
address
postcode
contact telephone number
date of birth
IP address
We will also collect non-personal information such as your:
previous teacher reference number, if you are returning to teaching
previous teaching subject, if you are returning to teaching
preferred teaching stage
preferred teaching subjects
qualifications
degree subject
degree stage
degree class
intended training commencement year
country of residence
preferred call back date
preferred call back time
privacy policy consent
What we do with your personal data when you sign up for a teacher training adviser
The information you provide in the get an adviser form will be shared with our teacher training advisers, who will communicate with you by email and SMS to provide you with the support that you need.
If you have an equivalent qualification from another country and you live in the UK or overseas, your details will be shared with our Get into teaching helpline who will contact you to ensure they have accurate data about your circumstances in order to provide a tailored service and information to you. Any subsequent information you provide to the Get into Teaching helpline will also be recorded to continue to provide you with the support that you need.
Sign up for teaching events
Personal data we collect
When you sign up for teaching events, we would collect personal data such as your;
first name
last name
email address
telephone number (optional)
IP Address
We will also collect non-personal information such as your:
privacy policy consent
What we do with your personal data when you sign up for teaching events
When you sign up for teaching events, the information you give to us will be used to provide tailored information about teaching events. We will send reminders and updates by email to the address you give us about the event you have signed up for.
If you provide us with your phone/ mobile number, we will only contact you by SMS with reminders and updates to events you have signed up for.
Sign up for updates
Personal data we collect
When you sign up for updates, we will collect personal data such as your;
first name
last name
email address
postcode
telephone number (optional)
IP Address
We will also collect non-personal information such as your:
degree stage
teaching subject
level of consideration in teaching
privacy policy consent
What we do with your personal data when you sign up for updates
When you sign up for mailing updates, the information you provide in the form will allow us to send you personalised emails containing tailored information about a career in teaching and teaching events in your postcode area. Any additional information you provide when you sign up for updates will help us to provide you with a tailored service.
How we use your personal data when you sign up for our services
The additional information you provide when you communicate with the helpline and/or teacher training advisers will help us to aid you in progressing your application and continue to improve our service.
We may also contact you to gauge your interest in taking part in market research. In each message, you will be given the opportunity to unsubscribe from further communications.
The information we collect from you (such as your name, contact details and subject preferences) is used for identification, administration, analysis and targeting purposes. This allows us to ensure that public funds are being spent effectively.
We will use anonymised data about you to deliver tailored messages on third party platforms, including social media - like Pinterest, Facebook, Instagram, Twitter, Snapchat and Google search. Such anonymised data will also be used to identify and advertise to people that are similar to you, who may also be interested in our service.
If you are using the Get School Experience service, your data will be used to process your request for school experience with the school(s) in question. We will also use it to send out notifications, reminders and feedback questionnaires. We track your progress through this service to improve it for you and future applicants and to ensure public funds are being spent effectively.
Your personal data, supplied for the purposes of this service, will be stored in our customer relationship management system for 5 years.
If you do not supply us with your personal information then we cannot provide a tailored advice and information service or offer you access to the services available via our website such as booking a Train to Teach event.
However, without signing up for a teacher training adviser, signing up for an event or signing up for updates, you can still access general information via the Get into Teaching helpline and website, and can complete an application for Initial Teacher Training through UCAS Teacher Training.
Why our use of your personal data is lawful
In order for our use of your personal data to be lawful, we need to meet one (or more) conditions in the data protection legislation. You have requested to receive this service and therefore, together with this privacy notice (about the use of your personal data), you have agreed to your data being used to deliver the service. However, the condition that we are relying on (once you have agreed to receiving the service) is that under Article 6 (1)(e) of the General Data Protection Regulations (GDPR) DfE is processing your personal data in the performance of a task carried out in the public interest.
Who we will make your personal data available to
We share your information with trusted partners working to deliver the service under a legal contract on our behalf in order for us to continue to provide you with relevant information about a career in teaching and teacher training or 'the service'. These partners are required to strictly comply with our privacy policies that prohibit them using your personal data for any other purpose.
We share certain personal data with UCAS Teacher Training, who manage the application system for teacher training. Sharing personal information with UCAS Teacher Training enables us to identify those who have applied for teacher training, and remove the names of these applicants from our communication list.
We also share data to track your application in order to determine the effectiveness of our service, monitor overall levels of teacher training applicants and improve it for you and future applicants.
If you are using the Get School Experience service, we will share some of your personal data to the staff who manage school experience at the school where you've requested school experience. This allows them to process your application and get back to you about your school experience.
How long we will keep your personal data
Your personal data, supplied for the purposes of this service, will be stored in our customer relationship management system for 5 years. We will delete this information if you request us to do so.
Your data protection rights
You have the right:
to ask us for access to information about you that we hold
to have your personal data rectified if it is inaccurate or incomplete
to request the deletion or removal of personal data where there is no compelling reason for its continued processing
to restrict our processing of your personal data (i.e. permitting its storage but no further processing)
to object to direct marketing (including profiling) and processing for the purposes of scientific/historical research and statistics.
We may need to update this privacy notice periodically, so we recommend that you revisit this information from time to time. This version was last updated on 30/09/2020.
We use cookies to make our services easy, useful and reliable. Find out more on how we use cookies.
",
- "createdAt": "2020-09-09T09:55:01",
- "id": "8da7ae80-82f2-ea11-a815-000d3a44afcc"
-}
diff --git a/spec/contracts/data/state.json b/spec/contracts/data/state.json
deleted file mode 100644
index cca358b30..000000000
--- a/spec/contracts/data/state.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "utcNow": "2021-03-24T10:00:00.000Z"
-}
diff --git a/spec/contracts/data/teacher_training_adviser/candidates.json b/spec/contracts/data/teacher_training_adviser/candidates.json
deleted file mode 100644
index 5a4f44adc..000000000
--- a/spec/contracts/data/teacher_training_adviser/candidates.json
+++ /dev/null
@@ -1,36 +0,0 @@
-[
- {
- "candidateId": "271aa675-e6bf-41c5-ad5f-4e1e8de5d7ad",
- "email": "existing@user.com",
- "firstName": "Jane",
- "lastName": "Doe",
- "teacherId": "abc123",
- "subjectTaughtId": "a42655a1-2afa-e811-a981-000d3a276620",
- "preferredTeachingSubjectId": "ac2655a1-2afa-e811-a981-000d3a276620",
- "preferredEducationPhaseId": 222750001,
- "dateOfBirth": "1987-03-22T00:00:00",
- "countryId": "72f5c2e6-74f9-e811-a97a-000d3a2760f2",
- "addressPostcode": "KY9 6NJ",
- "addressTelephone": "987654321",
- "canSubscribeToTeacherTrainingAdviser": true
- },
- {
- "candidateId": "371aa675-e6bf-41c5-ad5f-4e1e8de5d7ad",
- "email": "existing.closed@user.com",
- "firstName": "Jim",
- "lastName": "Doe",
- "degreeTypeId": 222750000,
- "degreeStatusId": 222750000,
- "degreeSubject": "Maths",
- "ukDegreeGradeId": 222750001,
- "preferredEducationPhaseId": 222750001,
- "adviserStatusId": 222750000,
- "hasGcseMathsAndEnglishId": 222750000,
- "preferredTeachingSubjectId": "ac2655a1-2afa-e811-a981-000d3a276620",
- "initialTeacherTrainingYearId": 12917,
- "dateOfBirth": "1987-03-22T00:00:00",
- "countryId": "13f4c2e6-74f9-e811-a97a-000d3a2760f2",
- "addressTelephone": "24265849586",
- "canSubscribeToTeacherTrainingAdviser": true
- }
-]
diff --git a/spec/contracts/output/sign_up_with_a_new_candidate_not_returning_equivalent_degree_primary_has_retaking_gcses_overseas.json b/spec/contracts/output/sign_up_with_a_new_candidate_not_returning_equivalent_degree_primary_has_retaking_gcses_overseas.json
deleted file mode 100644
index 81c710590..000000000
--- a/spec/contracts/output/sign_up_with_a_new_candidate_not_returning_equivalent_degree_primary_has_retaking_gcses_overseas.json
+++ /dev/null
@@ -1 +0,0 @@
-{"candidateId":null,"qualificationId":null,"subjectTaughtId":null,"preferredTeachingSubjectId":null,"countryId":"72f5c2e6-74f9-e811-a97a-000d3a2760f2","acceptedPolicyId":"8da7ae80-82f2-ea11-a815-000d3a44afcc","typeId":222750000,"ukDegreeGradeId":null,"degreeStatusId":222750000,"degreeTypeId":222750005,"initialTeacherTrainingYearId":22304,"preferredEducationPhaseId":222750000,"hasGcseMathsAndEnglishId":null,"hasGcseScienceId":null,"planningToRetakeGcseMathsAndEnglishId":null,"planningToRetakeGcseScienceId":null,"adviserStatusId":null,"channelId":null,"email":"john@doe.com","firstName":"John","lastName":"Doe","dateOfBirth":"1974-03-16","teacherId":null,"degreeSubject":null,"addressTelephone":"123456789","addressPostcode":"TE7 5TR","phoneCallScheduledAt":"2021-03-24T13:00:00.000Z"}
\ No newline at end of file
diff --git a/spec/contracts/output/sign_up_with_a_new_candidate_not_returning_equivalent_degree_secondary_has_gcses_is_in_uk.json b/spec/contracts/output/sign_up_with_a_new_candidate_not_returning_equivalent_degree_secondary_has_gcses_is_in_uk.json
deleted file mode 100644
index 57360587c..000000000
--- a/spec/contracts/output/sign_up_with_a_new_candidate_not_returning_equivalent_degree_secondary_has_gcses_is_in_uk.json
+++ /dev/null
@@ -1 +0,0 @@
-{"candidateId":null,"qualificationId":null,"subjectTaughtId":null,"preferredTeachingSubjectId":"a42655a1-2afa-e811-a981-000d3a276620","countryId":"47f4c2e6-74f9-e811-a97a-000d3a2760f2","acceptedPolicyId":"8da7ae80-82f2-ea11-a815-000d3a44afcc","typeId":222750000,"ukDegreeGradeId":null,"degreeStatusId":222750000,"degreeTypeId":222750005,"initialTeacherTrainingYearId":22303,"preferredEducationPhaseId":222750001,"hasGcseMathsAndEnglishId":null,"hasGcseScienceId":null,"planningToRetakeGcseMathsAndEnglishId":null,"planningToRetakeGcseScienceId":null,"adviserStatusId":null,"channelId":null,"email":"john@doe.com","firstName":"John","lastName":"Doe","dateOfBirth":"1974-03-16","teacherId":null,"degreeSubject":null,"addressTelephone":"447584736574","addressPostcode":null,"phoneCallScheduledAt":"2021-03-24T13:00:00.000Z"}
\ No newline at end of file
diff --git a/spec/contracts/output/sign_up_with_a_new_candidate_not_returning_has_degree_primary_has_gcses_in_the_uk_and_telephone.json b/spec/contracts/output/sign_up_with_a_new_candidate_not_returning_has_degree_primary_has_gcses_in_the_uk_and_telephone.json
deleted file mode 100644
index 002b1c01a..000000000
--- a/spec/contracts/output/sign_up_with_a_new_candidate_not_returning_has_degree_primary_has_gcses_in_the_uk_and_telephone.json
+++ /dev/null
@@ -1 +0,0 @@
-{"candidateId":null,"qualificationId":null,"subjectTaughtId":null,"preferredTeachingSubjectId":null,"countryId":"72f5c2e6-74f9-e811-a97a-000d3a2760f2","acceptedPolicyId":"8da7ae80-82f2-ea11-a815-000d3a44afcc","typeId":222750000,"ukDegreeGradeId":222750002,"degreeStatusId":222750000,"degreeTypeId":222750000,"initialTeacherTrainingYearId":22304,"preferredEducationPhaseId":222750000,"hasGcseMathsAndEnglishId":222750000,"hasGcseScienceId":222750000,"planningToRetakeGcseMathsAndEnglishId":null,"planningToRetakeGcseScienceId":null,"adviserStatusId":null,"channelId":null,"email":"john@doe.com","firstName":"John","lastName":"Doe","dateOfBirth":"1974-03-16","teacherId":null,"degreeSubject":"Physics","addressTelephone":"123456789","addressPostcode":"TE7 5TR","phoneCallScheduledAt":null}
\ No newline at end of file
diff --git a/spec/contracts/output/sign_up_with_a_new_candidate_not_returning_has_degree_secodary_retaking_gcses_overseas_and_no_telephone.json b/spec/contracts/output/sign_up_with_a_new_candidate_not_returning_has_degree_secodary_retaking_gcses_overseas_and_no_telephone.json
deleted file mode 100644
index c89735ad3..000000000
--- a/spec/contracts/output/sign_up_with_a_new_candidate_not_returning_has_degree_secodary_retaking_gcses_overseas_and_no_telephone.json
+++ /dev/null
@@ -1 +0,0 @@
-{"candidateId":null,"qualificationId":null,"subjectTaughtId":null,"preferredTeachingSubjectId":"842655a1-2afa-e811-a981-000d3a276620","countryId":"3bf4c2e6-74f9-e811-a97a-000d3a2760f2","acceptedPolicyId":"8da7ae80-82f2-ea11-a815-000d3a44afcc","typeId":222750000,"ukDegreeGradeId":222750000,"degreeStatusId":222750000,"degreeTypeId":222750000,"initialTeacherTrainingYearId":12917,"preferredEducationPhaseId":222750001,"hasGcseMathsAndEnglishId":222750001,"hasGcseScienceId":null,"planningToRetakeGcseMathsAndEnglishId":222750000,"planningToRetakeGcseScienceId":null,"adviserStatusId":null,"channelId":null,"email":"john@doe.com","firstName":"John","lastName":"Doe","dateOfBirth":"1974-03-16","teacherId":null,"degreeSubject":"Maths","addressTelephone":null,"addressPostcode":null,"phoneCallScheduledAt":null}
\ No newline at end of file
diff --git a/spec/contracts/output/sign_up_with_a_new_candidate_not_returning_studying_for_degree_final_year_overseas_and_telephone.json b/spec/contracts/output/sign_up_with_a_new_candidate_not_returning_studying_for_degree_final_year_overseas_and_telephone.json
deleted file mode 100644
index cbfb8c19e..000000000
--- a/spec/contracts/output/sign_up_with_a_new_candidate_not_returning_studying_for_degree_final_year_overseas_and_telephone.json
+++ /dev/null
@@ -1 +0,0 @@
-{"candidateId":null,"qualificationId":null,"subjectTaughtId":null,"preferredTeachingSubjectId":null,"countryId":"19f4c2e6-74f9-e811-a97a-000d3a2760f2","acceptedPolicyId":"8da7ae80-82f2-ea11-a815-000d3a44afcc","typeId":222750000,"ukDegreeGradeId":222750001,"degreeStatusId":222750001,"degreeTypeId":222750000,"initialTeacherTrainingYearId":22303,"preferredEducationPhaseId":222750000,"hasGcseMathsAndEnglishId":222750001,"hasGcseScienceId":222750000,"planningToRetakeGcseMathsAndEnglishId":222750000,"planningToRetakeGcseScienceId":null,"adviserStatusId":null,"channelId":null,"email":"john@doe.com","firstName":"John","lastName":"Doe","dateOfBirth":"1974-03-16","teacherId":null,"degreeSubject":"Physics","addressTelephone":"123456789","addressPostcode":null,"phoneCallScheduledAt":null}
\ No newline at end of file
diff --git a/spec/contracts/output/sign_up_with_a_new_candidate_not_returning_studying_for_degree_not_final_year_overseas_and_telephone.json b/spec/contracts/output/sign_up_with_a_new_candidate_not_returning_studying_for_degree_not_final_year_overseas_and_telephone.json
deleted file mode 100644
index 2b977496e..000000000
--- a/spec/contracts/output/sign_up_with_a_new_candidate_not_returning_studying_for_degree_not_final_year_overseas_and_telephone.json
+++ /dev/null
@@ -1 +0,0 @@
-{"candidateId":null,"qualificationId":null,"subjectTaughtId":null,"preferredTeachingSubjectId":"a42655a1-2afa-e811-a981-000d3a276620","countryId":"19f4c2e6-74f9-e811-a97a-000d3a2760f2","acceptedPolicyId":"8da7ae80-82f2-ea11-a815-000d3a44afcc","typeId":222750000,"ukDegreeGradeId":null,"degreeStatusId":222750003,"degreeTypeId":222750000,"initialTeacherTrainingYearId":22305,"preferredEducationPhaseId":222750001,"hasGcseMathsAndEnglishId":null,"hasGcseScienceId":null,"planningToRetakeGcseMathsAndEnglishId":null,"planningToRetakeGcseScienceId":null,"adviserStatusId":null,"channelId":null,"email":"john@doe.com","firstName":"John","lastName":"Doe","dateOfBirth":"1974-03-16","teacherId":null,"degreeSubject":"Physics","addressTelephone":"123456789","addressPostcode":null,"phoneCallScheduledAt":null}
\ No newline at end of file
diff --git a/spec/contracts/output/sign_up_with_a_new_candidate_returning_no_teacher_reference_number_overseas_and_no_telephone.json b/spec/contracts/output/sign_up_with_a_new_candidate_returning_no_teacher_reference_number_overseas_and_no_telephone.json
deleted file mode 100644
index d0b352ad7..000000000
--- a/spec/contracts/output/sign_up_with_a_new_candidate_returning_no_teacher_reference_number_overseas_and_no_telephone.json
+++ /dev/null
@@ -1 +0,0 @@
-{"candidateId":null,"qualificationId":null,"subjectTaughtId":"a42655a1-2afa-e811-a981-000d3a276620","preferredTeachingSubjectId":"ac2655a1-2afa-e811-a981-000d3a276620","countryId":"2bf4c2e6-74f9-e811-a97a-000d3a2760f2","acceptedPolicyId":"8da7ae80-82f2-ea11-a815-000d3a44afcc","typeId":222750001,"ukDegreeGradeId":null,"degreeStatusId":null,"degreeTypeId":null,"initialTeacherTrainingYearId":null,"preferredEducationPhaseId":222750001,"hasGcseMathsAndEnglishId":null,"hasGcseScienceId":null,"planningToRetakeGcseMathsAndEnglishId":null,"planningToRetakeGcseScienceId":null,"adviserStatusId":null,"channelId":null,"email":"john@doe.com","firstName":"John","lastName":"Doe","dateOfBirth":"1974-03-16","teacherId":"12345","degreeSubject":null,"addressTelephone":null,"addressPostcode":null,"phoneCallScheduledAt":null}
\ No newline at end of file
diff --git a/spec/contracts/output/sign_up_with_a_new_candidate_returning_teacher_reference_number_in_the_uk_and_telephone.json b/spec/contracts/output/sign_up_with_a_new_candidate_returning_teacher_reference_number_in_the_uk_and_telephone.json
deleted file mode 100644
index 70f73457f..000000000
--- a/spec/contracts/output/sign_up_with_a_new_candidate_returning_teacher_reference_number_in_the_uk_and_telephone.json
+++ /dev/null
@@ -1 +0,0 @@
-{"candidateId":null,"qualificationId":null,"subjectTaughtId":"a42655a1-2afa-e811-a981-000d3a276620","preferredTeachingSubjectId":"ac2655a1-2afa-e811-a981-000d3a276620","countryId":"72f5c2e6-74f9-e811-a97a-000d3a2760f2","acceptedPolicyId":"8da7ae80-82f2-ea11-a815-000d3a44afcc","typeId":222750001,"ukDegreeGradeId":null,"degreeStatusId":null,"degreeTypeId":null,"initialTeacherTrainingYearId":null,"preferredEducationPhaseId":222750001,"hasGcseMathsAndEnglishId":null,"hasGcseScienceId":null,"planningToRetakeGcseMathsAndEnglishId":null,"planningToRetakeGcseScienceId":null,"adviserStatusId":null,"channelId":null,"email":"john@doe.com","firstName":"John","lastName":"Doe","dateOfBirth":"1974-03-16","teacherId":"12345","degreeSubject":null,"addressTelephone":"123456789","addressPostcode":"TE7 5TR","phoneCallScheduledAt":null}
\ No newline at end of file
diff --git a/spec/contracts/output/sign_up_with_an_existing_candidate_returning_existing_data_change_address.json b/spec/contracts/output/sign_up_with_an_existing_candidate_returning_existing_data_change_address.json
deleted file mode 100644
index bf1c7a0d6..000000000
--- a/spec/contracts/output/sign_up_with_an_existing_candidate_returning_existing_data_change_address.json
+++ /dev/null
@@ -1 +0,0 @@
-{"candidateId":"271aa675-e6bf-41c5-ad5f-4e1e8de5d7ad","qualificationId":null,"subjectTaughtId":"a42655a1-2afa-e811-a981-000d3a276620","preferredTeachingSubjectId":"ac2655a1-2afa-e811-a981-000d3a276620","countryId":"72f5c2e6-74f9-e811-a97a-000d3a2760f2","acceptedPolicyId":"8da7ae80-82f2-ea11-a815-000d3a44afcc","typeId":222750001,"ukDegreeGradeId":null,"degreeStatusId":null,"degreeTypeId":null,"initialTeacherTrainingYearId":null,"preferredEducationPhaseId":222750001,"hasGcseMathsAndEnglishId":null,"hasGcseScienceId":null,"planningToRetakeGcseMathsAndEnglishId":null,"planningToRetakeGcseScienceId":null,"adviserStatusId":null,"channelId":null,"email":"existing@user.com","firstName":"Jane","lastName":"Doe","dateOfBirth":"1987-03-22","teacherId":"abc123","degreeSubject":null,"addressTelephone":"987654321","addressPostcode":"TE7 5TR","phoneCallScheduledAt":null}
\ No newline at end of file
diff --git a/spec/contracts/output/sign_up_with_an_existing_candidate_when_in_a_closed_state_not_returning_existing_data_change_country.json b/spec/contracts/output/sign_up_with_an_existing_candidate_when_in_a_closed_state_not_returning_existing_data_change_country.json
deleted file mode 100644
index a9ac6a0df..000000000
--- a/spec/contracts/output/sign_up_with_an_existing_candidate_when_in_a_closed_state_not_returning_existing_data_change_country.json
+++ /dev/null
@@ -1 +0,0 @@
-{"candidateId":"371aa675-e6bf-41c5-ad5f-4e1e8de5d7ad","qualificationId":null,"subjectTaughtId":null,"preferredTeachingSubjectId":"ac2655a1-2afa-e811-a981-000d3a276620","countryId":"2bf4c2e6-74f9-e811-a97a-000d3a2760f2","acceptedPolicyId":"8da7ae80-82f2-ea11-a815-000d3a44afcc","typeId":222750000,"ukDegreeGradeId":222750001,"degreeStatusId":222750000,"degreeTypeId":222750000,"initialTeacherTrainingYearId":12917,"preferredEducationPhaseId":222750001,"hasGcseMathsAndEnglishId":222750000,"hasGcseScienceId":null,"planningToRetakeGcseMathsAndEnglishId":null,"planningToRetakeGcseScienceId":null,"adviserStatusId":222750000,"channelId":null,"email":"existing.closed@user.com","firstName":"Jim","lastName":"Doe","dateOfBirth":"1987-03-22","teacherId":null,"degreeSubject":"Maths","addressTelephone":"24265849586","addressPostcode":null,"phoneCallScheduledAt":null}
\ No newline at end of file
diff --git a/spec/contracts/sign_up_spec.rb b/spec/contracts/sign_up_spec.rb
deleted file mode 100644
index ca5e53ab3..000000000
--- a/spec/contracts/sign_up_spec.rb
+++ /dev/null
@@ -1,233 +0,0 @@
-require "rails_helper"
-
-RSpec.describe "Sign up", type: :feature, vcr: false do
- before do
- setup_data
- setup_contract
-
- visit teacher_training_adviser_steps_path
-
- submit_identity_step(**candidate_identity)
- end
-
- around do |example|
- travel_to(DateTime.parse(state["utcNow"]))
- VCR.turned_off { example.run }
- travel_back
- end
-
- context "with a new candidate" do
- let(:candidate_identity) { new_candidate_identity }
-
- it "returning, teacher reference number, in the UK and telephone" do
- submit_choice_step("Yes", :returning_teacher)
- submit_choice_step("Secondary", :stage_interested_teaching)
- submit_choice_step("Yes", :has_teacher_id)
- submit_previous_teacher_id_step("12345")
- submit_select_step("Maths", :subject_taught)
- submit_select_step("Physics", :subject_like_to_teach)
- submit_date_of_birth_step(Date.new(1974, 3, 16))
- submit_choice_step("UK", :uk_or_overseas)
- submit_uk_address_step(
- postcode: "TE7 5TR",
- )
- submit_uk_telephone_step("123456789")
- submit_review_answers_step
- end
-
- it "returning, no teacher reference number, overseas and no telephone" do
- submit_choice_step("Yes", :returning_teacher)
- submit_choice_step("Secondary", :stage_interested_teaching)
- submit_choice_step("Yes", :has_teacher_id)
- submit_previous_teacher_id_step("12345")
- submit_select_step("Maths", :subject_taught)
- submit_select_step("Physics", :subject_like_to_teach)
- submit_date_of_birth_step(Date.new(1974, 3, 16))
- submit_choice_step("Overseas", :uk_or_overseas)
- submit_select_step("Brazil", :overseas_country)
- submit_overseas_telephone_step
- submit_review_answers_step
- end
-
- it "not returning, has degree, primary, has gcses, in the UK and telephone" do
- submit_choice_step("No", :returning_teacher)
- submit_choice_step("Yes", :have_a_degree)
- submit_select_step("Physics", :what_subject_degree)
- submit_select_step("2:1", :what_degree_class)
- submit_choice_step("Primary", :stage_interested_teaching)
- submit_choice_step("Yes", :gcse_maths_english)
- submit_choice_step("Yes", :gcse_science)
- submit_select_step("2022", :start_teacher_training)
- submit_date_of_birth_step(Date.new(1974, 3, 16))
- submit_choice_step("UK", :uk_or_overseas)
- submit_uk_address_step(
- postcode: "TE7 5TR",
- )
- submit_uk_telephone_step("123456789")
- submit_review_answers_step
- end
-
- it "not returning, has degree, secodary, retaking gcses, overseas and no telephone" do
- submit_choice_step("No", :returning_teacher)
- submit_choice_step("Yes", :have_a_degree)
- submit_select_step("Maths", :what_subject_degree)
- submit_select_step("Not applicable", :what_degree_class)
- submit_choice_step("Secondary", :stage_interested_teaching)
- submit_choice_step("No", :gcse_maths_english)
- submit_choice_step("Yes", :retake_gcse_maths_english)
- submit_select_step("Chemistry", :subject_interested_teaching)
- submit_select_step("Not sure", :start_teacher_training)
- submit_date_of_birth_step(Date.new(1974, 3, 16))
- submit_choice_step("Overseas", :uk_or_overseas)
- submit_select_step("Canada", :overseas_country)
- submit_overseas_telephone_step
- submit_review_answers_step
- end
-
- it "not returning, studying for degree (not final year), overseas and telephone" do
- submit_choice_step("No", :returning_teacher)
- submit_choice_step("I'm studying for a degree", :have_a_degree)
- submit_choice_step("First year", :stage_of_degree)
- submit_select_step("Physics", :what_subject_degree)
- submit_choice_step("Secondary", :stage_interested_teaching)
- submit_select_step("Maths", :subject_interested_teaching)
- submit_date_of_birth_step(Date.new(1974, 3, 16))
- submit_choice_step("Overseas", :uk_or_overseas)
- submit_select_step("Barbados", :overseas_country)
- submit_overseas_telephone_step("123456789")
- submit_review_answers_step
- end
-
- it "not returning, studying for degree (final year), overseas and telephone" do
- submit_choice_step("No", :returning_teacher)
- submit_choice_step("I'm studying for a degree", :have_a_degree)
- submit_choice_step("Final year", :stage_of_degree)
- submit_select_step("Physics", :what_subject_degree)
- submit_select_step("First class", :what_degree_class)
- submit_choice_step("Primary", :stage_interested_teaching)
- submit_choice_step("No", :gcse_maths_english)
- submit_choice_step("Yes", :retake_gcse_maths_english)
- submit_choice_step("Yes", :gcse_science)
- submit_select_step("2021", :start_teacher_training)
- submit_date_of_birth_step(Date.new(1974, 3, 16))
- submit_choice_step("Overseas", :uk_or_overseas)
- submit_select_step("Barbados", :overseas_country)
- submit_overseas_telephone_step("123456789")
- submit_review_answers_step
- end
-
- it "not returning, equivalent degree, primary, has/retaking gcses, overseas" do
- submit_choice_step("No", :returning_teacher)
- submit_choice_step("I am not a UK citizen and have, or am studying for, an equivalent qualification", :have_a_degree)
- submit_choice_step("Primary", :stage_interested_teaching)
- submit_select_step("2022", :start_teacher_training)
- submit_date_of_birth_step(Date.new(1974, 3, 16))
- submit_choice_step("UK", :uk_or_overseas)
- submit_uk_address_step(
- postcode: "TE7 5TR",
- )
- submit_uk_callback_step("123456789", "1:00pm to 1:30pm")
- submit_review_answers_step
- end
-
- it "not returning, equivalent degree, secondary, has gcses, is in uk" do
- submit_choice_step("No", :returning_teacher)
- submit_choice_step("I am not a UK citizen and have, or am studying for, an equivalent qualification", :have_a_degree)
- submit_choice_step("Secondary", :stage_interested_teaching)
- submit_select_step("Maths", :subject_interested_teaching)
- submit_select_step("2021", :start_teacher_training)
- submit_date_of_birth_step(Date.new(1974, 3, 16))
- submit_choice_step("Overseas", :uk_or_overseas)
- submit_select_step("China", :overseas_country)
- submit_overseas_time_zone_step("447584736574", "(GMT-04:00) Caracas")
- submit_select_step("9:00am to 9:30am", :overseas_callback)
- submit_review_answers_step
- end
- end
-
- context "with an existing candidate" do
- let(:candidate_identity) { existing_candidate_identity }
-
- it "returning, existing data, change address" do
- submit_verification_code(candidate_identity)
- submit_choice_step("Yes", :returning_teacher)
-
- expect_current_step(:stage_interested_teaching)
- expect(page.find_field("Secondary")).to be_checked
- click_on_continue
-
- expect_current_step(:subject_taught)
- expect(page).to have_select("Which main subject did you previously teach?", selected: "Maths")
- click_on_continue
-
- expect_current_step(:subject_like_to_teach)
- expect(page).to have_select("Which subject would you like to teach if you return to teaching?", selected: "Physics")
- click_on_continue
-
- expect_current_step(:date_of_birth)
- expect(find_field("Day").value).to eq("22")
- expect(find_field("Month").value).to eq("3")
- expect(find_field("Year").value).to eq("1987")
- click_on_continue
-
- submit_choice_step("UK", :uk_or_overseas)
-
- expect_current_step(:uk_address)
- expect(find_field("What is your postcode?").value).to eq("KY9 6NJ")
-
- submit_uk_address_step(
- postcode: "TE7 5TR",
- )
-
- submit_review_answers_step
- end
-
- context "when in a closed state" do
- let(:candidate_identity) { existing_closed_candidate_identity }
-
- it "not returning, existing data, change country" do
- submit_verification_code(candidate_identity)
- submit_choice_step("No", :returning_teacher)
- submit_choice_step("Yes", :have_a_degree)
-
- expect_current_step(:what_subject_degree)
- expect(page).to have_select("What subject is your degree?", selected: "Maths")
- click_on_continue
-
- expect_current_step(:what_degree_class)
- expect(page).to have_select("Which class is your degree?", selected: "First class")
- click_on_continue
-
- expect_current_step(:stage_interested_teaching)
- expect(page.find_field("Secondary")).to be_checked
- click_on_continue
-
- expect_current_step(:gcse_maths_english)
- expect(page.find_field("Yes")).to be_checked
- click_on_continue
-
- expect_current_step(:subject_interested_teaching)
- expect(page).to have_select("What would you like to teach?", selected: "Physics")
- click_on_continue
-
- expect_current_step(:start_teacher_training)
- expect(page).to have_select("When do you want to start your teacher training?", selected: "Not sure")
- click_on_continue
-
- expect_current_step(:date_of_birth)
- expect(find_field("Day").value).to eq("22")
- expect(find_field("Month").value).to eq("3")
- expect(find_field("Year").value).to eq("1987")
- click_on_continue
-
- submit_choice_step("Overseas", :uk_or_overseas)
-
- expect_current_step(:overseas_country)
- expect(page).to have_select("Which country do you live in?", selected: "Bahamas")
- submit_select_step("Brazil", :overseas_country)
-
- submit_review_answers_step
- end
- end
- end
-end
diff --git a/spec/controllers/errors_controller_spec.rb b/spec/controllers/errors_controller_spec.rb
deleted file mode 100644
index 0119844ef..000000000
--- a/spec/controllers/errors_controller_spec.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-require "rails_helper"
-
-RSpec.describe ErrorsController, type: :controller do
- describe "GET #not_found" do
- it "returns not found" do
- get :not_found
- expect(response).to have_http_status(:not_found)
- end
- end
-
- describe "GET #forbidden" do
- it "returns forbidden" do
- get :forbidden
- expect(response).to have_http_status(:forbidden)
- end
- end
-
- describe "GET #internal_server_error" do
- it "returns internal_server_error" do
- get :internal_server_error
- expect(response).to have_http_status(:internal_server_error)
- end
- end
-
- describe "GET #unprocessable_entity" do
- it "returns unprocessable_entity" do
- get :unprocessable_entity
- expect(response).to have_http_status(:unprocessable_entity)
- end
- end
-end
diff --git a/spec/factories/feedbacks.rb b/spec/factories/feedbacks.rb
deleted file mode 100644
index 6f7ad7520..000000000
--- a/spec/factories/feedbacks.rb
+++ /dev/null
@@ -1,8 +0,0 @@
-FactoryBot.define do
- factory :feedback, class: "TeacherTrainingAdviser::Feedback" do
- rating { :satisfied }
- successful_visit { true }
- unsuccessful_visit_explanation { nil }
- improvements { nil }
- end
-end
diff --git a/spec/features/feedback_spec.rb b/spec/features/feedback_spec.rb
deleted file mode 100644
index 833c6c5e2..000000000
--- a/spec/features/feedback_spec.rb
+++ /dev/null
@@ -1,60 +0,0 @@
-require "rails_helper"
-
-RSpec.feature "Feedback", type: :feature do
- scenario "submitting feedback" do
- visit root_path
-
- within ".govuk-phase-banner" do
- click_link "feedback"
- end
-
- choose "No"
- fill_in "Give details", with: "I didn't like it"
- choose "Satisfied"
- fill_in "How could we improve the service? (optional)", with: "You could to better"
-
- click_on "Submit feedback"
-
- expect(page).to have_text "Thank you"
- end
-
- scenario "a bot submitting feedback (filling in the honeypot)" do
- visit new_teacher_training_adviser_feedback_path
-
- choose "Yes"
- choose "Satisfied"
- fill_in "If you are a human, ignore this field", with: "i-am-a-bot"
-
- click_on "Submit feedback"
-
- expect(page.status_code).to eq(200)
- expect(page.body).to eq("")
- end
-
- scenario "exporting feedback" do
- visit teacher_training_adviser_feedbacks_path
-
- feedback = create(:feedback)
-
- within "form > .govuk-grid-row > .govuk-grid-column-one-third:first-of-type" do
- fill_in "Day", with: feedback.created_at.day
- fill_in "Month", with: feedback.created_at.month
- fill_in "Year", with: feedback.created_at.year
- end
-
- within "form > .govuk-grid-row > .govuk-grid-column-one-third:last-of-type" do
- fill_in "Day", with: feedback.created_at.day
- fill_in "Month", with: feedback.created_at.month
- fill_in "Year", with: feedback.created_at.year
- end
-
- click_on "Export CSV"
-
- expect(page.body).to eq(
- <<~CSV,
- id,rating,successful_visit,unsuccessful_visit_explanation,improvements,created_at
- #{feedback.id},satisfied,true,"","",#{feedback.created_at}
- CSV
- )
- end
-end
diff --git a/spec/features/sign_up_spec.rb b/spec/features/sign_up_spec.rb
deleted file mode 100644
index 650e70800..000000000
--- a/spec/features/sign_up_spec.rb
+++ /dev/null
@@ -1,1150 +0,0 @@
-require "rails_helper"
-
-RETURNING_TO_TEACHING = 222_750_001
-INTERESTED_IN_TEACHING = 222_750_000
-EDUCATION_PHASE_PRIMARY = 222_750_000
-EDUCATION_PHASE_SECONDARY = 222_750_001
-DEGREE_STATUS_HAS_DEGREE = 222_750_000
-DEGREE_TYPE_EQUIVALENT = 222_750_005
-DEGREE_TYPE_DEGREE = 222_750_000
-TEACHER_TRAINING_YEAR_2022 = 22_304
-UK_DEGREE_GRADE_2_2 = 222_750_003
-DEGREE_STATUS_FIRST_YEAR = 222_750_003
-DEGREE_STATUS_FINAL_YEAR = 222_750_001
-HAS_GCSE = 222_750_000
-SUBJECT_PHYSICS = "ac2655a1-2afa-e811-a981-000d3a276620".freeze
-SUBJECT_PSYCHOLOGY = "b22655a1-2afa-e811-a981-000d3a276620".freeze
-
-RSpec.feature "Sign up for a teacher training adviser", type: :feature do
- let(:quota) do
- GetIntoTeachingApiClient::CallbackBookingQuota.new(
- start_at: DateTime.new(2099, 6, 1, 10),
- end_at: DateTime.new(2099, 6, 1, 11),
- )
- end
-
- before do
- # Future callback booking slots (the VCR cassette contains outdated ones)
- allow_any_instance_of(GetIntoTeachingApiClient::CallbackBookingQuotasApi).to \
- receive(:get_callback_booking_quotas) { [quota].compact }
- end
-
- around do |example|
- travel_to(Date.new(2022, 6, 1)) do
- example.run
- end
- end
-
- context "when a new candidate" do
- before do
- # Emulate an unsuccessful matchback response from the API.
- allow_any_instance_of(GetIntoTeachingApiClient::CandidatesApi).to \
- receive(:create_candidate_access_token)
- .and_raise(GetIntoTeachingApiClient::ApiError)
- end
-
- scenario "that is signing up at an on-campus event" do
- sub_channel_id = "abcdef"
- channel = GetIntoTeachingApiClient::PickListItem.new({ id: 123_456, value: "On-campus event" })
-
- allow_any_instance_of(GetIntoTeachingApiClient::PickListItemsApi).to \
- receive(:get_candidate_teacher_training_adviser_subscription_channels).and_return([channel])
-
- visit root_path(channel: channel.id, sub_channel: sub_channel_id)
- click_on "Start now"
-
- expect(page).to have_css "h1", text: "About you"
- # Simulate en error to ensure channel id is not lost
- click_on "Continue"
- expect(page).to have_text("You need to enter your first name")
- fill_in_identity_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you qualified to teach?"
- choose "Yes"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which stage are you interested in teaching?"
- choose "Secondary"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have your previous teacher reference number?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which main subject did you previously teach?"
- select "Psychology"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which subject would you like to teach if you return to teaching?"
- select "Physics"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Enter your date of birth"
- fill_in_date_of_birth_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Where do you live?"
- choose "UK"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What is your postcode?"
- fill_in_address_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What is your telephone number?"
- fill_in "UK telephone number (optional)", with: "123456789"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Check your answers before you continue"
-
- request_attributes = uk_candidate_request_attributes({
- type_id: RETURNING_TO_TEACHING,
- subject_taught_id: SUBJECT_PSYCHOLOGY,
- preferred_teaching_subject_id: SUBJECT_PHYSICS,
- channel_id: channel.id,
- })
- expect_sign_up_with_attributes(request_attributes)
-
- click_on "Complete sign up"
-
- expect(page).to have_css "h1", text: "Sign up complete"
-
- # We pass this to the BAM tracking pixel in GTM.
- expect(page).to have_selector("[data-sub-channel-id='#{sub_channel_id}']")
- end
-
- scenario "that is signing up at an on-campus event (invalid channel id)" do
- allow_any_instance_of(GetIntoTeachingApiClient::PickListItemsApi).to \
- receive(:get_candidate_teacher_training_adviser_subscription_channels).and_return([])
-
- visit root_path(channel: 123_456)
- click_on "Start now"
-
- expect(page).to have_css "h1", text: "About you"
- fill_in_identity_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you qualified to teach?"
- choose "Yes"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which stage are you interested in teaching?"
- choose "Secondary"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have your previous teacher reference number?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which main subject did you previously teach?"
- select "Psychology"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which subject would you like to teach if you return to teaching?"
- select "Physics"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Enter your date of birth"
- fill_in_date_of_birth_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Where do you live?"
- choose "UK"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What is your postcode?"
- fill_in_address_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What is your telephone number?"
- fill_in "UK telephone number (optional)", with: "123456789"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Check your answers before you continue"
-
- request_attributes = uk_candidate_request_attributes({
- type_id: RETURNING_TO_TEACHING,
- subject_taught_id: SUBJECT_PSYCHOLOGY,
- preferred_teaching_subject_id: SUBJECT_PHYSICS,
- channel_id: nil,
- })
- expect_sign_up_with_attributes(request_attributes)
-
- click_on "Complete sign up"
-
- expect(page).to have_css "h1", text: "Sign up complete"
- end
-
- scenario "that is a returning teacher" do
- visit teacher_training_adviser_steps_path
-
- expect(page).to have_css "h1", text: "About you"
- fill_in_identity_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you qualified to teach?"
- choose "Yes"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which stage are you interested in teaching?"
- choose "Secondary"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have your previous teacher reference number?"
- choose "Yes"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What is your previous teacher reference number?"
- fill_in "Teacher reference number (optional)", with: "1234"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which main subject did you previously teach?"
- select "Psychology"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which subject would you like to teach if you return to teaching?"
- select "Physics"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Enter your date of birth"
- fill_in_date_of_birth_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Where do you live?"
- choose "UK"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What is your postcode?"
- fill_in_address_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What is your telephone number?"
- fill_in "UK telephone number (optional)", with: "123456789"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Check your answers before you continue"
-
- request_attributes = uk_candidate_request_attributes({
- type_id: RETURNING_TO_TEACHING,
- subject_taught_id: SUBJECT_PSYCHOLOGY,
- preferred_teaching_subject_id: SUBJECT_PHYSICS,
- teacher_id: "1234",
- })
- expect_sign_up_with_attributes(request_attributes)
-
- click_on "Complete sign up"
-
- expect(page).to have_css "h1", text: "Thank you"
- expect(page).to have_css "h1", text: "Sign up complete"
- expect(page).to have_text "A return to teaching adviser will email you to outline your next steps"
- expect(page).to have_text "read further information on our dedicated return to teaching page"
- expect(page).not_to have_text "Discover the different ways to train"
- expect(page).not_to have_text "Find out about funding"
- end
-
- scenario "with an equivalent degree (overseas)" do
- visit teacher_training_adviser_steps_path
-
- expect(page).to have_css "h1", text: "About you"
- fill_in_identity_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you qualified to teach?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have a degree?"
- choose "I am not a UK citizen and have, or am studying for, an equivalent qualification"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which stage are you interested in teaching?"
- choose "Secondary"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What would you like to teach?"
- select "Physics"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "When do you want to start your teacher training?"
- select "2022"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Enter your date of birth"
- fill_in_date_of_birth_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Where do you live?"
- choose "Overseas"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which country do you live in?"
- select "Argentina"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "You told us you have an equivalent degree and live overseas"
- expect(find_field("Contact telephone number").value).to eq "54"
- fill_in "Contact telephone number", with: "123456789"
- select "(GMT-10:00) Hawaii"
- click_on "Continue"
-
- expect(page).to have_text "Choose a time"
- # Select time in local time zone (Argentina)
- select "12:00am to 1:00am", from: "Select your preferred day and time for a callback"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Check your answers before you continue"
-
- request_attributes = overseas_candidate_request_attributes({
- type_id: INTERESTED_IN_TEACHING,
- preferred_teaching_subject_id: SUBJECT_PHYSICS,
- degree_status_id: DEGREE_STATUS_HAS_DEGREE,
- degree_type_id: DEGREE_TYPE_EQUIVALENT,
- initial_teacher_training_year_id: TEACHER_TRAINING_YEAR_2022,
- preferred_education_phase_id: EDUCATION_PHASE_SECONDARY,
- phone_call_scheduled_at: "#{quota.start_at.strftime('%Y-%m-%dT%H:%M:%S')}.000Z",
- })
- expect_sign_up_with_attributes(request_attributes)
-
- click_on "Complete sign up"
-
- expect(page).to have_css "h1", text: "Thank you"
- expect(page).to have_css "h1", text: "Sign up complete"
- expect(page).to have_text "We've booked a call."
- end
-
- scenario "with an equivalent degree (UK)" do
- visit teacher_training_adviser_steps_path
-
- expect(page).to have_css "h1", text: "About you"
- fill_in_identity_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you qualified to teach?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have a degree?"
- choose "I am not a UK citizen and have, or am studying for, an equivalent qualification"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which stage are you interested in teaching?"
- choose "Secondary"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What would you like to teach?"
- select "Physics"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "When do you want to start your teacher training?"
- select "2022"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Enter your date of birth"
- fill_in_date_of_birth_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Where do you live?"
- choose "UK"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What is your postcode?"
- fill_in_address_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "You told us you have an equivalent degree and live in the United Kingdom"
- fill_in "Contact telephone number", with: "123456789"
- # Select time in local time zone (London)
- select "11:00am to 12:00pm", from: "Select your preferred day and time for a callback"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Check your answers before you continue"
-
- request_attributes = uk_candidate_request_attributes({
- type_id: INTERESTED_IN_TEACHING,
- preferred_teaching_subject_id: SUBJECT_PHYSICS,
- degree_status_id: DEGREE_STATUS_HAS_DEGREE,
- degree_type_id: DEGREE_TYPE_EQUIVALENT,
- initial_teacher_training_year_id: TEACHER_TRAINING_YEAR_2022,
- preferred_education_phase_id: EDUCATION_PHASE_SECONDARY,
- phone_call_scheduled_at: "#{quota.start_at.strftime('%Y-%m-%dT%H:%M:%S')}.000Z",
- })
- expect_sign_up_with_attributes(request_attributes)
-
- click_on "Complete sign up"
-
- expect(page).to have_css "h1", text: "Thank you"
- expect(page).to have_css "h1", text: "Sign up complete"
- expect(page).to have_text "We've booked a call."
- end
-
- context "when there are no callback slots available" do
- let(:quota) { nil }
-
- scenario "with an equivalent degree" do
- visit teacher_training_adviser_steps_path
-
- expect(page).to have_css "h1", text: "About you"
- fill_in_identity_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you qualified to teach?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have a degree?"
- choose "I am not a UK citizen and have, or am studying for, an equivalent qualification"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which stage are you interested in teaching?"
- choose "Secondary"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What would you like to teach?"
- select "Physics"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "When do you want to start your teacher training?"
- select "2022"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Enter your date of birth"
- fill_in_date_of_birth_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Where do you live?"
- choose "Overseas"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which country do you live in?"
- select "Argentina"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "You told us you have an equivalent degree and live overseas"
- expect(page).to have_text "When you call, our adviser will ask for more details about the qualification you have."
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Check your answers before you continue"
-
- request_attributes = overseas_candidate_request_attributes({
- type_id: INTERESTED_IN_TEACHING,
- preferred_teaching_subject_id: SUBJECT_PHYSICS,
- degree_status_id: DEGREE_STATUS_HAS_DEGREE,
- degree_type_id: DEGREE_TYPE_EQUIVALENT,
- initial_teacher_training_year_id: TEACHER_TRAINING_YEAR_2022,
- preferred_education_phase_id: EDUCATION_PHASE_SECONDARY,
- address_telephone: nil,
- })
- expect_sign_up_with_attributes(request_attributes)
-
- click_on "Complete sign up"
-
- expect(page).to have_css "h1", text: "Thank you"
- expect(page).to have_css "h1", text: "Sign up complete"
- expect(page).to have_text "Please give us a call so that we can check your degree"
- end
-
- scenario "with an equivalent degree (UK)" do
- visit teacher_training_adviser_steps_path
-
- expect(page).to have_css "h1", text: "About you"
- fill_in_identity_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you qualified to teach?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have a degree?"
- choose "I am not a UK citizen and have, or am studying for, an equivalent qualification"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which stage are you interested in teaching?"
- choose "Secondary"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What would you like to teach?"
- select "Physics"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "When do you want to start your teacher training?"
- select "2022"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Enter your date of birth"
- fill_in_date_of_birth_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Where do you live?"
- choose "UK"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What is your postcode?"
- fill_in_address_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "You told us you have an equivalent degree and live in the United Kingdom"
- expect(page).to have_text "Please have the details of your overseas qualifications to hand when you call."
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Check your answers before you continue"
-
- request_attributes = uk_candidate_request_attributes({
- type_id: INTERESTED_IN_TEACHING,
- preferred_teaching_subject_id: SUBJECT_PHYSICS,
- degree_status_id: DEGREE_STATUS_HAS_DEGREE,
- degree_type_id: DEGREE_TYPE_EQUIVALENT,
- initial_teacher_training_year_id: TEACHER_TRAINING_YEAR_2022,
- preferred_education_phase_id: EDUCATION_PHASE_SECONDARY,
- address_telephone: nil,
- })
- expect_sign_up_with_attributes(request_attributes)
-
- click_on "Complete sign up"
-
- expect(page).to have_css "h1", text: "Thank you"
- expect(page).to have_css "h1", text: "Sign up complete"
- expect(page).to have_text "Please give us a call so that we can check your degree"
- end
- end
-
- scenario "studying for a degree (not final year)" do
- visit teacher_training_adviser_steps_path
-
- expect(page).to have_css "h1", text: "About you"
- fill_in_identity_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you qualified to teach?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have a degree?"
- choose "I'm studying for a degree"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "In which year are you studying?"
- choose "First year"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What subject is your degree?"
- select "Maths"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which stage are you interested in teaching?"
- choose "Secondary"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What would you like to teach?"
- select "Physics"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Enter your date of birth"
- fill_in_date_of_birth_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Where do you live?"
- choose "Overseas"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which country do you live in?"
- select "Argentina"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What is your telephone number?"
- expect(find_field("Overseas telephone number (optional)").value).to eq "54"
- fill_in "Overseas telephone number (optional)", with: "123456789"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Check your answers before you continue"
-
- request_attributes = overseas_candidate_request_attributes({
- type_id: INTERESTED_IN_TEACHING,
- degree_status_id: DEGREE_STATUS_FIRST_YEAR,
- degree_type_id: DEGREE_TYPE_DEGREE,
- degree_subject: "Maths",
- preferred_education_phase_id: EDUCATION_PHASE_SECONDARY,
- })
- expect_sign_up_with_attributes(request_attributes)
-
- click_on "Complete sign up"
-
- expect(page).to have_css "h1", text: "Thank you"
- expect(page).to have_css "h1", text: "Sign up complete"
- end
-
- scenario "studying for a degree (final year)" do
- visit teacher_training_adviser_steps_path
-
- expect(page).to have_css "h1", text: "About you"
- fill_in_identity_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you qualified to teach?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have a degree?"
- choose "I'm studying for a degree"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "In which year are you studying?"
- choose "Final year"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What subject is your degree?"
- select "Maths"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What degree class are you predicted to get?"
- select "2:2"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which stage are you interested in teaching?"
- choose "Primary"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have grade 4 (C) or above in English and maths GCSEs, or equivalent?"
- choose "Yes"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have grade 4 (C) or above in GCSE science, or equivalent?"
- choose "Yes"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "When do you want to start your teacher training?"
- select "2022"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Enter your date of birth"
- fill_in_date_of_birth_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Where do you live?"
- choose "Overseas"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which country do you live in?"
- select "Argentina"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What is your telephone number?"
- expect(find_field("Overseas telephone number (optional)").value).to eq "54"
- fill_in "Overseas telephone number (optional)", with: "123456789"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Check your answers before you continue"
-
- request_attributes = overseas_candidate_request_attributes({
- type_id: INTERESTED_IN_TEACHING,
- uk_degree_grade_id: UK_DEGREE_GRADE_2_2,
- degree_status_id: DEGREE_STATUS_FINAL_YEAR,
- degree_type_id: DEGREE_TYPE_DEGREE,
- initial_teacher_training_year_id: TEACHER_TRAINING_YEAR_2022,
- preferred_education_phase_id: EDUCATION_PHASE_PRIMARY,
- has_gcse_maths_and_english_id: HAS_GCSE,
- has_gcse_science_id: HAS_GCSE,
- degree_subject: "Maths",
- })
- expect_sign_up_with_attributes(request_attributes)
-
- click_on "Complete sign up"
-
- expect(page).to have_css "h1", text: "Thank you"
- expect(page).to have_css "h1", text: "Sign up complete"
- end
-
- scenario "candidate changes an answer" do
- visit teacher_training_adviser_steps_path
-
- expect(page).to have_css "h1", text: "About you"
- fill_in_identity_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you qualified to teach?"
- choose "Yes"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which stage are you interested in teaching?"
- choose "Secondary"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have your previous teacher reference number?"
- choose "Yes"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What is your previous teacher reference number?"
- fill_in "Teacher reference number (optional)", with: "1234"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which main subject did you previously teach?"
- select "Psychology"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which subject would you like to teach if you return to teaching?"
- select "Physics"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Enter your date of birth"
- fill_in_date_of_birth_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Where do you live?"
- choose "UK"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What is your postcode?"
- fill_in_address_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What is your telephone number?"
- fill_in "UK telephone number (optional)", with: "123456789"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Check your answers before you continue"
- click_on "Change your previous teacher reference number"
-
- expect(page).to have_css "h1", text: "What is your previous teacher reference number?"
- fill_in "Teacher reference number (optional)", with: "5678"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Check your answers before you continue"
-
- request_attributes = uk_candidate_request_attributes({
- type_id: RETURNING_TO_TEACHING,
- subject_taught_id: SUBJECT_PSYCHOLOGY,
- preferred_teaching_subject_id: SUBJECT_PHYSICS,
- teacher_id: "5678",
- })
- expect_sign_up_with_attributes(request_attributes)
-
- click_on "Complete sign up"
-
- expect(page).to have_css "h1", text: "Thank you"
- expect(page).to have_css "h1", text: "Sign up complete"
- end
-
- scenario "candidate tries to skip past an exit step" do
- visit teacher_training_adviser_steps_path
-
- expect(page).to have_css "h1", text: "About you"
- fill_in_identity_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you qualified to teach?"
- choose "Yes"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which stage are you interested in teaching?"
- choose "Primary"
- click_on "Continue"
-
- # Hit dead end
- expect(page).to have_css "h1", text: "We're sorry, but you are not eligible for this service"
- expect(page).not_to have_css "h1", text: "Continue"
-
- # Manually skip to review answers
- visit teacher_training_adviser_step_path(:review_answers)
-
- expect(page).to have_css "h1", text: "Check your answers before you continue"
- click_on "Complete sign up"
-
- # Forced back to dead end
- expect(page).to have_css "h1", text: "We're sorry, but you are not eligible for this service"
- expect(page).not_to have_css "h1", text: "Continue"
- end
-
- scenario "without a degree" do
- visit teacher_training_adviser_steps_path
-
- expect(page).to have_css "h1", text: "About you"
- fill_in_identity_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you qualified to teach?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have a degree?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "We're sorry, but you need a degree to be eligible for this service"
- expect(page).not_to have_css "h1", text: "Continue"
- end
-
- scenario "without science GCSEs, primary" do
- visit teacher_training_adviser_steps_path
-
- expect(page).to have_css "h1", text: "About you"
- fill_in_identity_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you qualified to teach?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have a degree?"
- choose "Yes"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What subject is your degree?"
- select "Maths"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which class is your degree?"
- select "2:2"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which stage are you interested in teaching?"
- choose "Primary"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have grade 4 (C) or above in English and maths GCSEs, or equivalent?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you planning to retake either English or maths (or both) GCSEs, or equivalent?"
- choose "Yes"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have grade 4 (C) or above in GCSE science, or equivalent?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you planning to retake your science GCSE?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "We're sorry, but you need the right GCSEs to be eligible for this service"
- expect(page).not_to have_css "h1", text: "Continue"
- end
-
- scenario "without english/maths GCSEs, primary" do
- visit teacher_training_adviser_steps_path
-
- expect(page).to have_css "h1", text: "About you"
- fill_in_identity_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you qualified to teach?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have a degree?"
- choose "Yes"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What subject is your degree?"
- select "Maths"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which class is your degree?"
- select "2:2"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which stage are you interested in teaching?"
- choose "Primary"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have grade 4 (C) or above in English and maths GCSEs, or equivalent?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you planning to retake either English or maths (or both) GCSEs, or equivalent?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "We're sorry, but you need the right GCSEs to be eligible for this service"
- expect(page).not_to have_css "h1", text: "Continue"
- end
-
- scenario "without GCSEs, secondary" do
- visit teacher_training_adviser_steps_path
-
- expect(page).to have_css "h1", text: "About you"
- fill_in_identity_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you qualified to teach?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have a degree?"
- choose "Yes"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What subject is your degree?"
- select "Maths"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which class is your degree?"
- select "2:2"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which stage are you interested in teaching?"
- choose "Secondary"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have grade 4 (C) or above in English and maths GCSEs, or equivalent?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you planning to retake either English or maths (or both) GCSEs, or equivalent?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "We're sorry, but you need the right GCSEs to be eligible for this service"
- expect(page).not_to have_css "h1", text: "Continue"
- end
-
- scenario "can't find subject like to teach" do
- visit teacher_training_adviser_steps_path
-
- expect(page).to have_css "h1", text: "About you"
- fill_in_identity_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you qualified to teach?"
- choose "Yes"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which stage are you interested in teaching?"
- choose "Primary"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "We're sorry, but you are not eligible for this service"
- expect(page).not_to have_css "h1", text: "Continue"
- end
- end
-
- context "when an existing candidate" do
- let(:valid_code) { "123456" }
- let(:invalid_code) { "111111" }
- let(:existing_candidate) do
- GetIntoTeachingApiClient::TeacherTrainingAdviserSignUp.new(
- preferred_education_phase_id: TeacherTrainingAdviser::Steps::StageInterestedTeaching::OPTIONS[:secondary],
- address_postcode: "TE7 1NG",
- date_of_birth: Date.new(1999, 4, 27),
- address_telephone: "123456789",
- teacher_id: "12345",
- )
- end
-
- before do
- allow_any_instance_of(GetIntoTeachingApiClient::CandidatesApi).to \
- receive(:create_candidate_access_token)
- allow_any_instance_of(GetIntoTeachingApiClient::TeacherTrainingAdviserApi).to \
- receive(:exchange_access_token_for_teacher_training_adviser_sign_up)
- .with(valid_code, anything)
- .and_return(existing_candidate)
- allow_any_instance_of(GetIntoTeachingApiClient::TeacherTrainingAdviserApi).to \
- receive(:exchange_access_token_for_teacher_training_adviser_sign_up)
- .with(invalid_code, anything)
- .and_raise(GetIntoTeachingApiClient::ApiError)
- end
-
- scenario "matchback" do
- visit teacher_training_adviser_steps_path
-
- expect(page).to have_css "h1", text: "About you"
- fill_in_identity_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "You're already registered with us"
- expect(page).to have_text "To verify your details, we've sent a code to your email address."
- click_on "Send another code to verify my details."
-
- expect(page).to have_text "We've sent you another email"
- fill_in "git-wizard-steps-authenticate-timed-one-time-password-field", with: invalid_code
- click_on "Continue"
-
- expect(page).to have_text "Please enter the latest verification code sent to your email address"
- fill_in "git-wizard-steps-authenticate-timed-one-time-password-field-error", with: valid_code
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you qualified to teach?"
- choose "No"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Do you have a degree?"
- choose "I am not a UK citizen and have, or am studying for, an equivalent qualification"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which stage are you interested in teaching?"
- expect(find_field("Secondary")).to be_checked
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What would you like to teach?"
- select "Physics"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "When do you want to start your teacher training?"
- select "2022"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Enter your date of birth"
- expect(find_field("Day").value).to eq("27")
- expect(find_field("Month").value).to eq("4")
- expect(find_field("Year").value).to eq("1999")
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Where do you live?"
- choose "UK"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What is your postcode?"
- expect(find_field("What is your postcode?").value).to eq("TE7 1NG")
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "You told us you have an equivalent degree and live in the United Kingdom"
- expect(find_field("Contact telephone number").value).to eq("123456789")
- # Cause an error to check the time zone is correct on an update action
- fill_in "Contact telephone number", with: ""
- click_on "Continue"
- expect(page).to have_text("Enter a telephone number")
- fill_in "Contact telephone number", with: "123456789"
- # Select time in local time zone (London)
- select "11:00am to 12:00pm", from: "Select your preferred day and time for a callback"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Check your answers before you continue"
-
- request_attributes = uk_candidate_request_attributes({
- preferred_education_phase_id: EDUCATION_PHASE_SECONDARY,
- preferred_teaching_subject_id: SUBJECT_PHYSICS,
- degree_status_id: DEGREE_STATUS_HAS_DEGREE,
- degree_type_id: DEGREE_TYPE_EQUIVALENT,
- initial_teacher_training_year_id: TEACHER_TRAINING_YEAR_2022,
- phone_call_scheduled_at: "#{quota.start_at.strftime('%Y-%m-%dT%H:%M:%S')}.000Z",
- date_of_birth: "1999-04-27",
- address_postcode: "TE7 1NG",
- })
- expect_sign_up_with_attributes(request_attributes)
-
- click_on "Complete sign up"
-
- expect(page).to have_css "h1", text: "Thank you"
- expect(page).to have_css "h1", text: "Sign up complete"
- end
-
- scenario "skipping pre-filled optional steps" do
- visit teacher_training_adviser_steps_path
-
- expect(page).to have_css "h1", text: "About you"
- fill_in_identity_step
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "You're already registered with us"
- fill_in "git-wizard-steps-authenticate-timed-one-time-password-field", with: valid_code
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Are you qualified to teach?"
- choose "Yes"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which stage are you interested in teaching?"
- choose "Secondary"
- click_on "Continue"
-
- expect(page).not_to have_css "h1", text: "Do you have your previous teacher reference number?"
- expect(page).not_to have_css "h1", text: "What is your previous teacher reference number?"
-
- expect(page).to have_css "h1", text: "Which main subject did you previously teach?"
- select "Psychology"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Which subject would you like to teach if you return to teaching?"
- select "Physics"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Enter your date of birth"
- expect(find_field("Day").value).to eq("27")
- expect(find_field("Month").value).to eq("4")
- expect(find_field("Year").value).to eq("1999")
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "Where do you live?"
- choose "UK"
- click_on "Continue"
-
- expect(page).to have_css "h1", text: "What is your postcode?"
- expect(find_field("What is your postcode?").value).to eq("TE7 1NG")
- click_on "Continue"
-
- expect(page).not_to have_css "h1", text: "What is your telephone number?"
-
- expect(page).to have_css "h1", text: "Check your answers before you continue"
-
- request_attributes = uk_candidate_request_attributes({
- subject_taught_id: SUBJECT_PSYCHOLOGY,
- preferred_teaching_subject_id: SUBJECT_PHYSICS,
- date_of_birth: "1999-04-27",
- address_postcode: "TE7 1NG",
- teacher_id: "12345",
- })
- expect_sign_up_with_attributes(request_attributes)
-
- click_on "Complete sign up"
-
- expect(page).to have_css "h1", text: "Thank you"
- expect(page).to have_css "h1", text: "Sign up complete"
- end
- end
-
- def fill_in_identity_step
- fill_in "First name", with: "John"
- fill_in "Last name", with: "Doe"
- fill_in "Email address", with: "john@doe.com"
- end
-
- def fill_in_date_of_birth_step
- fill_in "Day", with: "24"
- fill_in "Month", with: "03"
- fill_in "Year", with: "1966"
- end
-
- def fill_in_address_step
- fill_in "What is your postcode?", with: "EH12 8JF"
- end
-
- def expect_sign_up_with_attributes(request_attributes)
- expect_any_instance_of(GetIntoTeachingApiClient::TeacherTrainingAdviserApi).to \
- receive(:sign_up_teacher_training_adviser_candidate)
- .with(having_attributes(request_attributes))
- .once
- end
-
- def uk_candidate_request_attributes(attributes = {})
- {
- email: "john@doe.com",
- first_name: "John",
- last_name: "Doe",
- date_of_birth: "1966-03-24",
- address_postcode: "EH12 8JF",
- country_id: "72f5c2e6-74f9-e811-a97a-000d3a2760f2",
- accepted_policy_id: "0a203956-e935-ea11-a813-000d3a44a8e9",
- preferred_education_phase_id: EDUCATION_PHASE_SECONDARY,
- }
- .merge(shared_request_attributes)
- .merge(attributes)
- end
-
- def overseas_candidate_request_attributes(attributes = {})
- {
- country_id: "09f4c2e6-74f9-e811-a97a-000d3a2760f2",
- }
- .merge(shared_request_attributes)
- .merge(attributes)
- end
-
- def shared_request_attributes
- {
- email: "john@doe.com",
- first_name: "John",
- last_name: "Doe",
- date_of_birth: "1966-03-24",
- address_telephone: "123456789",
- }
- end
-end
diff --git a/spec/features/view_pages_spec.rb b/spec/features/view_pages_spec.rb
deleted file mode 100644
index 146eb04b0..000000000
--- a/spec/features/view_pages_spec.rb
+++ /dev/null
@@ -1,8 +0,0 @@
-require "rails_helper"
-
-RSpec.feature "View pages", type: :feature do
- scenario "Navigates to home page" do
- visit "/home"
- expect(page).to have_text("Get an adviser\n")
- end
-end
diff --git a/spec/helpers/answer_helper_spec.rb b/spec/helpers/answer_helper_spec.rb
deleted file mode 100644
index 83c9365f9..000000000
--- a/spec/helpers/answer_helper_spec.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-require "rails_helper"
-
-RSpec.describe AnswerHelper, type: :helper do
- describe "#format_answer" do
- let(:time_zone) { "UTC" }
-
- before { allow(Time).to receive(:zone) { time_zone } }
-
- it "correctly formats a date" do
- answer = Date.new(2011, 1, 24)
- expect(helper.format_answer(answer)).to eq("24 01 2011")
- end
-
- it "correctly formats a time" do
- answer = Time.utc(2011, 1, 24, 10, 30)
- expect(helper.format_answer(answer)).to eq("10:30")
- end
-
- it "calls safe_format" do
- answer = "test\ntest"
- expect(helper.format_answer(answer)).to eq("test\n test")
- end
-
- context "when a time zone has been set" do
- let(:time_zone) { "Hawaii" }
-
- it "correctly formats a time" do
- answer = Time.utc(2011, 1, 24, 10, 30)
- expect(helper.format_answer(answer)).to eq("00:30")
- end
- end
- end
-end
diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb
deleted file mode 100644
index 875b5a984..000000000
--- a/spec/helpers/application_helper_spec.rb
+++ /dev/null
@@ -1,216 +0,0 @@
-require "rails_helper"
-
-class StubModel
- include ActiveModel::Model
-end
-
-RSpec.describe ApplicationHelper do
- include TextFormatHelper
-
- describe "#analytics_body_tag" do
- subject { analytics_body_tag(data: { timefmt: "24" }, class: "homepage") { tag.hr } }
-
- it { is_expected.not_to have_css "body[data-controller=gtm]" }
- it { is_expected.to have_css "body[data-controller=gtm-consent]" }
- it { is_expected.to have_css "body[data-timefmt=24]" }
- it { is_expected.to have_css "body.homepage" }
- it { is_expected.to have_css "body hr" }
- end
-
- describe "#format_page_title" do
- subject { format_page_title(title, status) }
-
- let(:title) { "Page title" }
- let(:status) { 200 }
-
- it { is_expected.to eq("Page title - Get an adviser - GOV.UK") }
-
- context "when there is no title" do
- let(:title) { nil }
-
- it { is_expected.to eq("Get an adviser - GOV.UK") }
- end
-
- context "when there is an error" do
- let(:status) { 422 }
-
- it { is_expected.to eq("Error: Page title - Get an adviser - GOV.UK") }
- end
- end
-
- describe "#govuk_form_for" do
- it "renders a form with GOV.UK form builder" do
- expect(govuk_form_for(StubModel.new, url: "http://test.com") {}).to eq(
- "",
- )
- end
- end
-
- describe "#back_link" do
- it "renders a back link with GOV.UK class names" do
- expect(back_link).to eq("Back")
- end
- end
-
- describe "#link_to_change_answer" do
- it "returns a link to the sign up step" do
- expect(link_to_change_answer(TeacherTrainingAdviser::Steps::Identity, "email")).to eq(
- "Change your email",
- )
- end
- end
-
- describe "#gtm_enabled?" do
- it "returns true when GTM_ID is present" do
- allow(ENV).to receive(:[]).with("GTM_ID").and_return("ABC-123")
- expect(helper).to be_gtm_enabled
- end
-
- it "returns false when GTM_ID is blank" do
- allow(ENV).to receive(:[]).with("GTM_ID").and_return("")
- expect(helper).not_to be_gtm_enabled
-
- allow(ENV).to receive(:[]).with("GTM_ID").and_return(nil)
- expect(helper).not_to be_gtm_enabled
- end
- end
-
- describe "#link_to_git" do
- subject { link_to_git_site }
-
- let(:url) { "http://test.url/" }
-
- before do
- allow(ENV).to receive(:[]).and_call_original
- allow(ENV).to receive(:[]).with("GIT_URL").and_return url
- end
-
- context "without text" do
- it { is_expected.to have_css 'a[href="http://test.url/"]' }
- it { is_expected.to have_css "a", text: "Get into Teaching" }
- end
-
- context "with text" do
- subject { link_to_git_site "Teaching site" }
-
- it { is_expected.to have_css 'a[href="http://test.url/"]' }
- it { is_expected.to have_css "a", text: "Teaching site" }
- end
-
- context "with path" do
- subject { link_to_git_site "Show content", "content/page" }
-
- it { is_expected.to have_css 'a[href="http://test.url/content/page"]' }
- it { is_expected.to have_css "a", text: "Show content" }
- end
-
- context "with attributes" do
- subject { link_to_git_site "Teaching site", "", class: "govuk-link" }
-
- it { is_expected.to have_css 'a.govuk-link[href="http://test.url/"]' }
- it { is_expected.to have_css "a.govuk-link", text: "Teaching site" }
- end
-
- context "when URL is nil" do
- before { allow(ENV).to receive(:[]).with("GIT_URL").and_return nil }
-
- it { is_expected.to have_css 'a[href="/url-not-set/"]' }
- it { is_expected.to have_css "a", text: "Get into Teaching" }
- end
-
- context "when URL empty" do
- before { allow(ENV).to receive(:[]).with("GIT_URL").and_return "" }
-
- it { is_expected.to have_css 'a[href="/url-not-set/"]' }
- it { is_expected.to have_css "a", text: "Get into Teaching" }
- end
- end
-
- describe "#link_to_git_mailing_list" do
- subject { link_to_git_mailing_list("join the mailing list", class: "govuk-link") }
-
- let(:url) { "http://test.url/" }
-
- before { allow(ENV).to receive(:[]).with("GIT_URL") { url } }
-
- it { is_expected.to have_css "a[href=\"http://test.url/mailinglist/signup\"]" }
- it { is_expected.to have_css "a.govuk-link", text: "join the mailing list" }
-
- context "when the GIT_URL is nil" do
- before { allow(ENV).to receive(:[]).with("GIT_URL").and_return(nil) }
-
- it { is_expected.to have_css "a[href=\"/url-not-set/mailinglist/signup\"]" }
- it { is_expected.to have_css "a", text: "join the mailing list" }
- end
-
- context "when the GIT_URL is an empty string" do
- before { allow(ENV).to receive(:[]).with("GIT_URL").and_return(" ") }
-
- it { is_expected.to have_css "a[href=\"/url-not-set/mailinglist/signup\"]" }
- it { is_expected.to have_css "a", text: "join the mailing list" }
- end
- end
-
- describe "#link_to_git_events" do
- subject { link_to_git_events("find an event", class: "govuk-link") }
-
- let(:url) { "http://test.url/" }
-
- before { allow(ENV).to receive(:[]).with("GIT_URL") { url } }
-
- it { is_expected.to have_css "a[href=\"http://test.url/events\"]" }
- it { is_expected.to have_css "a.govuk-link", text: "find an event" }
-
- context "when the GIT_URL is nil" do
- before { allow(ENV).to receive(:[]).with("GIT_URL").and_return(nil) }
-
- it { is_expected.to have_css "a[href=\"/url-not-set/events\"]" }
- it { is_expected.to have_css "a", text: "find an event" }
- end
-
- context "when the GIT_URL is an empty string" do
- before { allow(ENV).to receive(:[]).with("GIT_URL").and_return(" ") }
-
- it { is_expected.to have_css "a[href=\"/url-not-set/events\"]" }
- it { is_expected.to have_css "a", text: "find an event" }
- end
-
- context "when provided with a custom events_path" do
- subject { link_to_git_events(link_text, events_path:, class: link_class) }
-
- let(:link_text) { "find a special online event" }
- let(:link_class) { "special-online-event-link" }
- let(:events_path) { "online/special" }
-
- it { is_expected.to have_link(link_text, href: git_url + "events/#{events_path}", class: link_class) }
- end
- end
-
- describe "#internal_referer" do
- it "returns nil if the referrer is not set" do
- helper.request = instance_double(ActionDispatch::Request, referer: nil)
- expect(helper.internal_referer).to be_nil
- end
-
- it "returns nil if the referrer is empty" do
- helper.request = instance_double(ActionDispatch::Request, referer: " ")
- expect(helper.internal_referer).to be_nil
- end
-
- it "returns nil if the referrer is external" do
- helper.request = instance_double(ActionDispatch::Request, referer: "http://external.com")
- expect(helper.internal_referer).to be_nil
- end
-
- it "returns the referrer if internal" do
- helper.request = instance_double(ActionDispatch::Request, referer: root_url)
- expect(helper.internal_referer).to eql(root_url)
- end
- end
-
- describe "#human_boolean" do
- it { expect(human_boolean(true)).to eq("Yes") }
- it { expect(human_boolean(false)).to eq("No") }
- end
-end
diff --git a/spec/helpers/callback_helper_spec.rb b/spec/helpers/callback_helper_spec.rb
deleted file mode 100644
index b9803ead5..000000000
--- a/spec/helpers/callback_helper_spec.rb
+++ /dev/null
@@ -1,70 +0,0 @@
-require "rails_helper"
-
-RSpec.describe CallbackHelper, type: :helper do
- around do |example|
- Time.use_zone(time_zone) do
- travel_to(utc_today) { example.run }
- end
- end
-
- let(:time_zone) { "UTC" }
- let(:utc_today) { Time.utc(2020, 4, 6, 10, 30) }
- let(:utc_tomorrow) { Time.utc(2020, 4, 7, 10) }
- let(:quota_today) do
- GetIntoTeachingApiClient::CallbackBookingQuota.new(
- start_at: utc_today,
- end_at: utc_today + 30.minutes,
- )
- end
- let(:quota_tomorrow) do
- GetIntoTeachingApiClient::CallbackBookingQuota.new(
- start_at: utc_tomorrow,
- end_at: utc_tomorrow + 30.minutes,
- )
- end
- let(:quotas) { [quota_today, quota_tomorrow] }
-
- describe "#callback_options" do
- subject { callback_options(quotas) }
-
- it {
- expect(subject).to eq({
- "Monday 6 April" => [["10:30am to 11:00am", utc_today]],
- "Tuesday 7 April" => [["10:00am to 10:30am", utc_tomorrow]],
- })
- }
-
- context "when given a time zone of GMT+2" do
- let(:time_zone) { "Madrid" }
-
- it {
- expect(subject).to eq({
- "Monday 6 April" => [["12:30pm to 1:00pm", utc_today]],
- "Tuesday 7 April" => [["12:00pm to 12:30pm", utc_tomorrow]],
- })
- }
- end
- end
-
- describe "#quotas_by_day" do
- subject { quotas_by_day(quotas) }
-
- it {
- expect(subject).to eq({
- "Monday 6 April" => [quota_today],
- "Tuesday 7 April" => [quota_tomorrow],
- })
- }
-
- context "when given a time zone of GMT-11 (resulting in 'today' being the 5th)" do
- let(:time_zone) { "American Samoa" }
-
- it {
- expect(subject).to eq({
- "Sunday 5 April" => [quota_today],
- "Monday 6 April" => [quota_tomorrow],
- })
- }
- end
- end
-end
diff --git a/spec/helpers/form_helper_spec.rb b/spec/helpers/form_helper_spec.rb
deleted file mode 100644
index f8017900a..000000000
--- a/spec/helpers/form_helper_spec.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-require "rails_helper"
-
-RSpec.describe FormHelper, type: :helper do
- include TextFormatHelper
-
- describe ".timed_one_time_password_label" do
- subject { timed_one_time_password_label(code_resent) }
-
- context "when code has not been resent" do
- let(:code_resent) { false }
-
- it { is_expected.to eq("Enter your code here:") }
- end
-
- context "when code has been resent" do
- let(:code_resent) { true }
-
- it { is_expected.to start_with("Enter your code here:") }
- it { is_expected.to end_with(" We've sent you another email") }
- end
- end
-end
diff --git a/spec/helpers/text_format_helper_spec.rb b/spec/helpers/text_format_helper_spec.rb
deleted file mode 100644
index 5ced5a5a8..000000000
--- a/spec/helpers/text_format_helper_spec.rb
+++ /dev/null
@@ -1,87 +0,0 @@
-require "rails_helper"
-
-RSpec.describe TextFormatHelper, type: :helper do
- describe "#safe_format" do
- subject { safe_format(content) }
-
- context "with new lines" do
- let(:content) { "hello\r\n\r\nworld" }
-
- it "wraps content as paragraph" do
- expect(subject).to eq("
hello
\n\n
world
")
- end
- end
-
- context "with html content" do
- let(:content) { "helloworld" }
-
- it "removes tags and wraps content as paragraph" do
- expect(subject).to eq("
hello world
")
- end
- end
-
- context "with a custom wrapper tag" do
- subject { safe_format(content, wrapper_tag: tag) }
-
- let(:content) { "hello\r\n\r\nworld" }
- let(:tag) { "span" }
-
- it "wraps content in tag" do
- expect(subject).to eq("hello\n\nworld")
- end
- end
- end
-
- describe "#safe_html_format" do
- subject { safe_html_format html }
-
- context "with allowed HTML" do
- let(:html) do
- <<~HTML
-