Browse Source

Merge remote-tracking branch 'origin/CLDC-3654-Copy-changes-sales-property-information-questions' into CLDC-3654-Copy-changes-sales-property-information-questions

pull/2694/head
Manny Dinssa 8 months ago
parent
commit
e928dcde85
  1. 4
      Gemfile.lock
  2. 2
      app/components/bulk_upload_summary_component.html.erb
  3. 2
      app/controllers/lettings_logs_controller.rb
  4. 2
      app/controllers/sales_logs_controller.rb
  5. 17
      app/controllers/users_controller.rb
  6. 2
      app/helpers/filters_helper.rb
  7. 8
      app/helpers/log_actions_helper.rb
  8. 2
      app/helpers/review_helper.rb
  9. 2
      app/helpers/tasklist_helper.rb
  10. 2
      app/models/bulk_upload.rb
  11. 4
      app/models/form/sales/pages/household_wheelchair_check.rb
  12. 3
      app/models/form/sales/questions/armed_forces.rb
  13. 2
      app/models/form/sales/questions/armed_forces_spouse.rb
  14. 2
      app/models/form/sales/questions/buyer_still_serving.rb
  15. 3
      app/models/form/sales/questions/household_disability.rb
  16. 2
      app/models/form/sales/questions/household_wheelchair.rb
  17. 3
      app/models/form/sales/questions/household_wheelchair_check.rb
  18. 2
      app/models/forms/bulk_upload_lettings/checking_file.rb
  19. 2
      app/models/forms/bulk_upload_lettings/needstype.rb
  20. 2
      app/models/forms/bulk_upload_lettings/prepare_your_file.rb
  21. 2
      app/models/forms/bulk_upload_lettings/upload_your_file.rb
  22. 2
      app/models/forms/bulk_upload_lettings/year.rb
  23. 2
      app/models/forms/bulk_upload_sales/checking_file.rb
  24. 2
      app/models/forms/bulk_upload_sales/prepare_your_file.rb
  25. 2
      app/models/forms/bulk_upload_sales/upload_your_file.rb
  26. 2
      app/models/forms/bulk_upload_sales/year.rb
  27. 6
      app/models/user.rb
  28. 10
      app/models/validations/sales/setup_validations.rb
  29. 10
      app/models/validations/setup_validations.rb
  30. 4
      app/services/storage/local_disk_service.rb
  31. 2
      app/views/bulk_upload_lettings_logs/forms/prepare_your_file_2023.html.erb
  32. 2
      app/views/bulk_upload_lettings_logs/forms/prepare_your_file_2024.html.erb
  33. 2
      app/views/bulk_upload_lettings_results/show.html.erb
  34. 2
      app/views/bulk_upload_lettings_results/summary.html.erb
  35. 2
      app/views/bulk_upload_lettings_resume/chosen.html.erb
  36. 2
      app/views/bulk_upload_lettings_resume/completed.html.erb
  37. 2
      app/views/bulk_upload_lettings_resume/confirm.html.erb
  38. 2
      app/views/bulk_upload_lettings_resume/deletion_report.html.erb
  39. 2
      app/views/bulk_upload_lettings_resume/fix_choice.html.erb
  40. 2
      app/views/bulk_upload_lettings_soft_validations_check/chosen.html.erb
  41. 2
      app/views/bulk_upload_lettings_soft_validations_check/confirm.html.erb
  42. 2
      app/views/bulk_upload_lettings_soft_validations_check/confirm_soft_errors.html.erb
  43. 2
      app/views/bulk_upload_sales_results/show.html.erb
  44. 2
      app/views/bulk_upload_sales_results/summary.html.erb
  45. 2
      app/views/bulk_upload_sales_resume/chosen.html.erb
  46. 2
      app/views/bulk_upload_sales_resume/completed.html.erb
  47. 2
      app/views/bulk_upload_sales_resume/confirm.html.erb
  48. 2
      app/views/bulk_upload_sales_resume/deletion_report.html.erb
  49. 2
      app/views/bulk_upload_sales_resume/fix_choice.html.erb
  50. 2
      app/views/bulk_upload_sales_soft_validations_check/chosen.html.erb
  51. 2
      app/views/bulk_upload_sales_soft_validations_check/confirm.html.erb
  52. 2
      app/views/bulk_upload_sales_soft_validations_check/confirm_soft_errors.html.erb
  53. 2
      app/views/logs/edit.html.erb
  54. 6
      config/locales/en.yml
  55. 34
      config/locales/forms/2023/sales/household_needs.en.yml
  56. 6
      config/locales/forms/2023/sales/soft_validations.en.yml
  57. 34
      config/locales/forms/2024/sales/household_needs.en.yml
  58. 7
      config/locales/forms/2024/sales/soft_validations.en.yml
  59. 4
      config/locales/validations/sales/setup.en.yml
  60. 4
      docs/Gemfile.lock
  61. 2
      spec/components/bulk_upload_summary_component_spec.rb
  62. 11
      spec/features/bulk_upload_lettings_logs_spec.rb
  63. 6
      spec/features/bulk_upload_sales_logs_spec.rb
  64. 2
      spec/features/sales_log_spec.rb
  65. 12
      spec/helpers/filters_helper_spec.rb
  66. 8
      spec/helpers/tasklist_helper_spec.rb
  67. 4
      spec/models/bulk_upload_spec.rb
  68. 3
      spec/models/form/sales/pages/household_wheelchair_check_spec.rb
  69. 3
      spec/models/form/sales/subsections/household_needs_spec.rb
  70. 6
      spec/models/forms/bulk_upload_lettings/year_spec.rb
  71. 6
      spec/models/forms/bulk_upload_sales/year_spec.rb
  72. 16
      spec/models/validations/sales/setup_validations_spec.rb
  73. 30
      spec/models/validations/setup_validations_spec.rb
  74. 4
      spec/requests/bulk_upload_lettings_results_controller_spec.rb
  75. 8
      spec/requests/bulk_upload_lettings_resume_controller_spec.rb
  76. 2
      spec/requests/bulk_upload_lettings_soft_validations_check_controller_spec.rb
  77. 2
      spec/requests/bulk_upload_sales_results_controller_spec.rb
  78. 8
      spec/requests/bulk_upload_sales_resume_controller_spec.rb
  79. 2
      spec/requests/bulk_upload_sales_soft_validations_check_controller_spec.rb
  80. 27
      spec/requests/lettings_logs_controller_spec.rb
  81. 2
      spec/requests/sales_logs_controller_spec.rb
  82. 26
      spec/views/logs/edit.html.erb_spec.rb

4
Gemfile.lock

@ -377,8 +377,7 @@ GEM
responders (3.1.1)
actionpack (>= 5.2)
railties (>= 5.2)
rexml (3.3.6)
strscan
rexml (3.3.9)
roo (2.10.1)
nokogiri (~> 1)
rubyzip (>= 1.3.0, < 3.0.0)
@ -463,7 +462,6 @@ GEM
smart_properties (1.17.0)
stimulus-rails (1.3.3)
railties (>= 6.0.0)
strscan (3.1.0)
thor (1.3.2)
thread_safe (0.3.6)
timecop (0.9.8)

2
app/components/bulk_upload_summary_component.html.erb

@ -4,7 +4,7 @@
<header class="app-log-summary__header">
<h2 class="govuk-heading-m govuk-!-font-weight-regular govuk-!-margin-bottom-0 text-normal-break ">
<span class="govuk-!-margin-right-1"><%= bulk_upload.filename %></span>
<span class="app-metadata app-log-summary__details" style="white-space: nowrap;"><%= bulk_upload.year %>/<%= bulk_upload.year + 1 %></span>
<span class="app-metadata app-log-summary__details" style="white-space: nowrap;"><%= bulk_upload.year %> to <%= bulk_upload.year + 1 %></span>
</h2>
</header>
<div class="govuk-!-margin-bottom-2">

2
app/controllers/lettings_logs_controller.rb

@ -65,7 +65,7 @@ class LettingsLogsController < LogsController
elsif @log.collection_closed_for_editing?
redirect_to review_lettings_log_path(@log)
else
render("logs/edit", locals: { current_user: })
render("logs/edit", locals: { current_user:, bulk_upload_filter_applied: session_filters["bulk_upload_id"].present? })
end
end

2
app/controllers/sales_logs_controller.rb

@ -39,7 +39,7 @@ class SalesLogsController < LogsController
if @log.collection_closed_for_editing?
redirect_to review_sales_log_path(@log, sales_log: true)
else
render "logs/edit", locals: { current_user: }
render "logs/edit", locals: { current_user:, bulk_upload_filter_applied: session_filters["bulk_upload_id"].present? }
end
end

17
app/controllers/users_controller.rb

@ -257,13 +257,7 @@ private
def user_params
if @user == current_user
if current_user.data_coordinator?
params.require(:user).permit(:email, :phone, :phone_extension, :name, :password, :password_confirmation, :role, :is_dpo, :is_key_contact, :initial_confirmation_sent)
elsif current_user.support?
params.require(:user).permit(:email, :phone, :phone_extension, :name, :password, :password_confirmation, :role, :is_dpo, :is_key_contact, :initial_confirmation_sent, :organisation_id)
else
params.require(:user).permit(:email, :phone, :phone_extension, :name, :password, :password_confirmation, :initial_confirmation_sent)
end
current_user_params
elsif current_user.data_coordinator?
params.require(:user).permit(:email, :phone, :phone_extension, :name, :role, :is_dpo, :is_key_contact, :active, :initial_confirmation_sent)
elsif current_user.support?
@ -271,6 +265,15 @@ private
end
end
def current_user_params
base_params = %i[email phone phone_extension name password password_confirmation initial_confirmation_sent]
return params.require(:user).permit(*(base_params + %i[role is_dpo is_key_contact])) if current_user.data_coordinator?
return params.require(:user).permit(*(base_params + %i[role is_dpo is_key_contact organisation_id])) if current_user.support?
return params.require(:user).permit(*(base_params + [:role])) if Rails.env.staging? && current_user.in_staging_role_update_email_allowlist?
params.require(:user).permit(*base_params)
end
def user_params_without_org
user_params.except(:organisation_id)
end

2
app/helpers/filters_helper.rb

@ -287,7 +287,7 @@ private
end
def year_combo(year)
"#{year}/#{year - 2000 + 1}"
"#{year} to #{year + 1}"
end
def formatted_years_filter(session_filters)

8
app/helpers/log_actions_helper.rb

@ -2,8 +2,8 @@ module LogActionsHelper
include GovukLinkHelper
include GovukVisuallyHiddenHelper
def edit_actions_for_log(log)
back = back_button_for(log)
def edit_actions_for_log(log, bulk_upload_filter_applied)
back = back_button_for(log, bulk_upload_filter_applied)
delete = delete_button_for_log(log)
return if back.nil? && delete.nil?
@ -15,9 +15,9 @@ module LogActionsHelper
private
def back_button_for(log)
def back_button_for(log, bulk_upload_filter_applied)
if log.completed?
if log.creation_method_bulk_upload? && log.bulk_upload.present?
if log.creation_method_bulk_upload? && log.bulk_upload.present? && bulk_upload_filter_applied
if log.lettings?
govuk_button_link_to "Back to uploaded logs", resume_bulk_upload_lettings_result_path(log.bulk_upload)
else

2
app/helpers/review_helper.rb

@ -6,7 +6,7 @@ module ReviewHelper
"You can review and make changes to this log until #{log.form.submission_deadline.to_formatted_s(:govuk_date)}.".html_safe
else
start_year = log.startdate ? collection_start_year_for_date(log.startdate) : log.form.start_date.year
"This log is from the #{start_year}/#{start_year + 1} collection window, which is now closed."
"This log is from the #{start_year} to #{start_year + 1} collection window, which is now closed."
end
end

2
app/helpers/tasklist_helper.rb

@ -55,7 +55,7 @@ module TasklistHelper
else
start_year = log.startdate ? collection_start_year_for_date(log.startdate) : log.form.start_date.year
"This log is from the #{start_year}/#{start_year + 1} collection window, which is now closed."
"This log is from the #{start_year} to #{start_year + 1} collection window, which is now closed."
end
end

2
app/models/bulk_upload.rb

@ -59,7 +59,7 @@ class BulkUpload < ApplicationRecord
end
def year_combo
"#{year}/#{year - 2000 + 1}"
"#{year} to #{year + 1}"
end
def end_year

4
app/models/form/sales/pages/household_wheelchair_check.rb

@ -6,8 +6,8 @@ class Form::Sales::Pages::HouseholdWheelchairCheck < ::Form::Page
"wheelchair_when_not_disabled?" => true,
},
]
@informative_text = {}
@title_text = { "translation" => "soft_validations.wheelchair.title_text" }
@copy_key = "sales.soft_validations.wheel_value_check"
@title_text = { "translation" => "forms.#{form.start_date.year}.#{@copy_key}.title_text" }
end
def questions

3
app/models/form/sales/questions/armed_forces.rb

@ -2,10 +2,7 @@ class Form::Sales::Questions::ArmedForces < ::Form::Question
def initialize(id, hsh, page)
super
@id = "hhregres"
@check_answer_label = "Have any of the buyers ever served as a regular in the UK armed forces?"
@header = "Have any of the buyers ever served as a regular in the UK armed forces?"
@type = "radio"
@hint_text = "A regular is somebody who has served in the Royal Navy, the Royal Marines, the Royal Airforce or Army full time and does not include reserve forces"
@answer_options = ANSWER_OPTIONS
@question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max]
end

2
app/models/form/sales/questions/armed_forces_spouse.rb

@ -2,8 +2,6 @@ class Form::Sales::Questions::ArmedForcesSpouse < ::Form::Question
def initialize(id, hsh, page)
super
@id = "armedforcesspouse"
@check_answer_label = "Are any of the buyers a spouse or civil partner of a UK armed forces regular who died in service within the last 2 years?"
@header = "Are any of the buyers a spouse or civil partner of a UK armed forces regular who died in service within the last 2 years?"
@type = "radio"
@answer_options = ANSWER_OPTIONS
@question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max]

2
app/models/form/sales/questions/buyer_still_serving.rb

@ -2,8 +2,6 @@ class Form::Sales::Questions::BuyerStillServing < ::Form::Question
def initialize(id, hsh, page)
super
@id = "hhregresstill"
@check_answer_label = "Are they still serving in the UK armed forces?"
@header = "Is the buyer still serving in the UK armed forces?"
@type = "radio"
@answer_options = ANSWER_OPTIONS
@question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max]

3
app/models/form/sales/questions/household_disability.rb

@ -2,11 +2,8 @@ class Form::Sales::Questions::HouseholdDisability < ::Form::Question
def initialize(id, hsh, page)
super
@id = "disabled"
@header = "Does anyone in the household consider themselves to have a disability?"
@check_answer_label = "Does anyone in the household have a disability?"
@type = "radio"
@answer_options = ANSWER_OPTIONS
@hint_text = "This includes any long-term health condition that has an impact on the person's day-to-day life"
@question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max]
end

2
app/models/form/sales/questions/household_wheelchair.rb

@ -2,10 +2,8 @@ class Form::Sales::Questions::HouseholdWheelchair < ::Form::Question
def initialize(id, hsh, page)
super
@id = "wheel"
@header = "Does anyone in the household use a wheelchair?"
@type = "radio"
@answer_options = ANSWER_OPTIONS
@hint_text = "This can be inside or outside the home"
@question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max]
end

3
app/models/form/sales/questions/household_wheelchair_check.rb

@ -2,8 +2,7 @@ class Form::Sales::Questions::HouseholdWheelchairCheck < ::Form::Question
def initialize(id, hsh, page)
super
@id = "wheel_value_check"
@check_answer_label = "Does anyone in the household use a wheelchair?"
@header = "You told us that someone in the household uses a wheelchair."
@copy_key = "sales.soft_validations.wheel_value_check"
@type = "interruption_screen"
@answer_options = {
"0" => { "value" => "Yes" },

2
app/models/forms/bulk_upload_lettings/checking_file.rb

@ -21,7 +21,7 @@ module Forms
end
def year_combo
"#{year}/#{year + 1 - 2000}"
"#{year} to #{year + 1}"
end
def save!

2
app/models/forms/bulk_upload_lettings/needstype.rb

@ -28,7 +28,7 @@ module Forms
end
def year_combo
"#{year}/#{year + 1 - 2000}"
"#{year} to #{year + 1}"
end
def save!

2
app/models/forms/bulk_upload_lettings/prepare_your_file.rb

@ -41,7 +41,7 @@ module Forms
end
def year_combo
"#{year}/#{year + 1 - 2000}"
"#{year} to #{year + 1}"
end
def save!

2
app/models/forms/bulk_upload_lettings/upload_your_file.rb

@ -25,7 +25,7 @@ module Forms
end
def year_combo
"#{year}/#{year + 1 - 2000}"
"#{year} to #{year + 1}"
end
def next_path

2
app/models/forms/bulk_upload_lettings/year.rb

@ -16,7 +16,7 @@ module Forms
def options
possible_years.map do |year|
OpenStruct.new(id: year, name: "#{year}/#{year + 1}")
OpenStruct.new(id: year, name: "#{year} to #{year + 1}")
end
end

2
app/models/forms/bulk_upload_sales/checking_file.rb

@ -21,7 +21,7 @@ module Forms
end
def year_combo
"#{year}/#{year + 1 - 2000}"
"#{year} to #{year + 1}"
end
def save!

2
app/models/forms/bulk_upload_sales/prepare_your_file.rb

@ -40,7 +40,7 @@ module Forms
end
def year_combo
"#{year}/#{year + 1 - 2000}"
"#{year} to #{year + 1}"
end
def save!

2
app/models/forms/bulk_upload_sales/upload_your_file.rb

@ -24,7 +24,7 @@ module Forms
end
def year_combo
"#{year}/#{year + 1 - 2000}"
"#{year} to #{year + 1}"
end
def next_path

2
app/models/forms/bulk_upload_sales/year.rb

@ -16,7 +16,7 @@ module Forms
def options
possible_years.map do |year|
OpenStruct.new(id: year, name: "#{year}/#{year + 1}")
OpenStruct.new(id: year, name: "#{year} to #{year + 1}")
end
end

6
app/models/user.rb

@ -212,7 +212,7 @@ class User < ApplicationRecord
end
def assignable_roles
if Rails.env.staging? && Rails.application.credentials[:staging_role_update_email_allowlist].include?(email.split("@").last.downcase)
if Rails.env.staging? && in_staging_role_update_email_allowlist?
return ROLES
end
@ -222,6 +222,10 @@ class User < ApplicationRecord
ROLES.except(:support)
end
def in_staging_role_update_email_allowlist?
Rails.application.credentials[:staging_role_update_email_allowlist].include?(email.split("@").last.downcase)
end
def logs_filters(specific_org: false)
if (support? && !specific_org) || organisation.has_managing_agents? || organisation.has_stock_owners?
%w[years status needstypes assigned_to user owning_organisation managing_organisation bulk_upload_id user_text_search owning_organisation_text_search managing_organisation_text_search]

10
app/models/validations/sales/setup_validations.rb

@ -80,18 +80,18 @@ private
if FormHandler.instance.sales_in_crossover_period?
I18n.t(
"validations.sales.setup.saledate.must_be_within.previous_and_current_collection_year",
previous_start_year_short: previous_collection_start_date.strftime("%y"),
previous_end_year_short: previous_collection_end_date.strftime("%y"),
previous_start_year_short: previous_collection_start_date.strftime("%Y"),
previous_end_year_short: previous_collection_end_date.strftime("%Y"),
previous_start_year_long: previous_collection_start_date.strftime("#{previous_collection_start_date.day.ordinalize} %B %Y"),
current_end_year_short: current_collection_end_date.strftime("%y"),
current_end_year_short: current_collection_end_date.strftime("%Y"),
current_end_year_long: current_collection_end_date.strftime("#{current_collection_end_date.day.ordinalize} %B %Y"),
)
else
I18n.t(
"validations.sales.setup.saledate.must_be_within.current_collection_year",
current_start_year_short: current_collection_start_date.strftime("%y"),
current_start_year_short: current_collection_start_date.strftime("%Y"),
current_start_year_long: current_collection_start_date.strftime("#{current_collection_start_date.day.ordinalize} %B %Y"),
current_end_year_short: current_collection_end_date.strftime("%y"),
current_end_year_short: current_collection_end_date.strftime("%Y"),
current_end_year_long: current_collection_end_date.strftime("#{current_collection_end_date.day.ordinalize} %B %Y"),
)
end

10
app/models/validations/setup_validations.rb

@ -130,17 +130,17 @@ private
if FormHandler.instance.lettings_in_crossover_period?
I18n.t(
"validations.setup.startdate.previous_and_current_collection_year",
previous_start_year_short: previous_collection_start_date.strftime("%y"),
previous_end_year_short: previous_collection_end_date.strftime("%y"),
previous_start_year_short: previous_collection_start_date.strftime("%Y"),
previous_end_year_short: previous_collection_end_date.strftime("%Y"),
previous_start_year_long: previous_collection_start_date.strftime("#{previous_collection_start_date.day.ordinalize} %B %Y"),
current_end_year_short: current_collection_end_date.strftime("%y"),
current_end_year_short: current_collection_end_date.strftime("%Y"),
current_end_year_long:,
)
else
I18n.t(
"validations.setup.startdate.current_collection_year",
current_start_year_short: current_collection_start_date.strftime("%y"),
current_end_year_short: current_collection_end_date.strftime("%y"),
current_start_year_short: current_collection_start_date.strftime("%Y"),
current_end_year_short: current_collection_end_date.strftime("%Y"),
current_start_year_long: current_collection_start_date.strftime("#{current_collection_start_date.day.ordinalize} %B %Y"),
current_end_year_long:,
)

4
app/services/storage/local_disk_service.rb

@ -19,7 +19,9 @@ module Storage
File.open(path, "r")
end
def write_file(filename, data, _content_type: nil)
# rubocop:disable Lint/UnusedMethodArgument
def write_file(filename, data, content_type: nil)
# rubocop:enable Lint/UnusedMethodArgument
path = Rails.root.join("tmp/storage", filename)
FileUtils.mkdir_p(path.dirname)

2
app/views/bulk_upload_lettings_logs/forms/prepare_your_file_2023.html.erb

@ -31,7 +31,7 @@
<li>If you are using the new template, keep the headers. If you are using the legacy template, you can either keep or remove the headers. If you remove the headers, you should also remove the blank column A.</li>
</ul>
<%= govuk_inset_text(text: "You can upload both general needs and supported housing logs in the same file for 2023/24 data.") %>
<%= govuk_inset_text(text: "You can upload both general needs and supported housing logs in the same file for 2023 to 2024 data.") %>
<h2 class="govuk-heading-s">Save your file</h2>

2
app/views/bulk_upload_lettings_logs/forms/prepare_your_file_2024.html.erb

@ -27,7 +27,7 @@
<li>If you have reordered the headers, keep the headers in the file.</li>
</ul>
<%= govuk_inset_text(text: "You can upload both general needs and supported housing logs in the same file for 2024/25 data.") %>
<%= govuk_inset_text(text: "You can upload both general needs and supported housing logs in the same file for 2024 to 2025 data.") %>
<h2 class="govuk-heading-s">Save your file</h2>

2
app/views/bulk_upload_lettings_results/show.html.erb

@ -6,7 +6,7 @@
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<span class="govuk-caption-l">Bulk upload for lettings (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload lettings logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l">We found <%= pluralize(@bulk_upload.bulk_upload_errors.count, "error") %> in your file</h1>
<div class="govuk-body">

2
app/views/bulk_upload_lettings_results/summary.html.erb

@ -2,7 +2,7 @@
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<span class="govuk-caption-l">Bulk upload for lettings (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload lettings logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l">Fix <%= pluralize(@bulk_upload.bulk_upload_errors.count, "error") %> and upload file again</h1>
<p class="govuk-body">

2
app/views/bulk_upload_lettings_resume/chosen.html.erb

@ -4,7 +4,7 @@
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<span class="govuk-caption-l">Bulk upload for lettings (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload lettings logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l">You need to fix logs from your bulk upload</h1>
<p class="govuk-body">You have chosen to create logs from your recent bulk upload. To view and complete these logs, return to the list of lettings logs.</p>

2
app/views/bulk_upload_lettings_resume/completed.html.erb

@ -4,7 +4,7 @@
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<span class="govuk-caption-l">Bulk upload for lettings (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload lettings logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l">These logs are complete</h1>
<p class="govuk-body">You have created logs from your bulk upload, and the logs are complete. Return to lettings logs to view them.</p>

2
app/views/bulk_upload_lettings_resume/confirm.html.erb

@ -4,7 +4,7 @@
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<span class="govuk-caption-l">Bulk upload for lettings (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload lettings logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l">Are you sure you want to upload all logs from this bulk upload?</h1>
<p class="govuk-body">

2
app/views/bulk_upload_lettings_resume/deletion_report.html.erb

@ -4,7 +4,7 @@
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<span class="govuk-caption-l">Bulk upload for lettings (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload lettings logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l"><%= answers_to_be_deleted_title_text(@bulk_upload) %></h1>
<p>The following cells contain data this is incorrect.</p>

2
app/views/bulk_upload_lettings_resume/fix_choice.html.erb

@ -3,7 +3,7 @@
<%= form_with model: @form, scope: :form, url: page_bulk_upload_lettings_resume_path(@bulk_upload, page: "fix-choice"), method: :patch do |f| %>
<%= f.govuk_error_summary %>
<span class="govuk-caption-l">Bulk upload for lettings (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload lettings logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l">How would you like to fix the errors?</h1>
<div class="govuk-body-l">

2
app/views/bulk_upload_lettings_soft_validations_check/chosen.html.erb

@ -4,7 +4,7 @@
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<span class="govuk-caption-l">Bulk upload for lettings (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload lettings logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l">These logs are complete</h1>
<p class="govuk-body">You have created logs from your bulk upload, and the logs are complete. Return to lettings logs to view them.</p>

2
app/views/bulk_upload_lettings_soft_validations_check/confirm.html.erb

@ -4,7 +4,7 @@
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<span class="govuk-caption-l">Bulk upload for lettings (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload lettings logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l">You have chosen to upload all logs from this bulk upload.</h1>
<p class="govuk-body"><%= logs_and_soft_validations_warning(@bulk_upload) %></p>

2
app/views/bulk_upload_lettings_soft_validations_check/confirm_soft_errors.html.erb

@ -3,7 +3,7 @@
<div class="govuk-grid-column-two-thirds">
<%= f.govuk_error_summary %>
<span class="govuk-caption-l">Bulk upload for lettings (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload lettings logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l">Check these <%= pluralize(@bulk_upload.bulk_upload_errors.count, "answer") %> </h1>
<p class="govuk-body-l">Some data from your bulk upload might not be right. Check your file for any errors in the fields below.</p>

2
app/views/bulk_upload_sales_results/show.html.erb

@ -6,7 +6,7 @@
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<span class="govuk-caption-l">Bulk Upload for sales (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload sales logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l">We found <%= pluralize(@bulk_upload.bulk_upload_errors.count, "error") %> in your file</h1>
<div class="govuk-body">

2
app/views/bulk_upload_sales_results/summary.html.erb

@ -2,7 +2,7 @@
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<span class="govuk-caption-l">Bulk upload for sales (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload sales logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l">Fix <%= pluralize(@bulk_upload.bulk_upload_errors.count, "error") %> and upload file again</h1>
<p class="govuk-body">

2
app/views/bulk_upload_sales_resume/chosen.html.erb

@ -4,7 +4,7 @@
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<span class="govuk-caption-l">Bulk upload for sales (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload sales logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l">You need to fix logs from your bulk upload</h1>
<p class="govuk-body">You have chosen to create logs from your recent bulk upload. To view and complete these logs, return to the list of sales logs.</p>

2
app/views/bulk_upload_sales_resume/completed.html.erb

@ -4,7 +4,7 @@
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<span class="govuk-caption-l">Bulk upload for sales (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload sales logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l">These logs are complete</h1>
<p class="govuk-body">You have created logs from your bulk upload, and the logs are complete. Return to sales logs to view them.</p>

2
app/views/bulk_upload_sales_resume/confirm.html.erb

@ -4,7 +4,7 @@
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<span class="govuk-caption-l">Bulk upload for sales (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload sales logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l">Are you sure you want to upload all logs from this bulk upload?</h1>
<p class="govuk-body">

2
app/views/bulk_upload_sales_resume/deletion_report.html.erb

@ -4,7 +4,7 @@
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<span class="govuk-caption-l">Bulk upload for sales (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload sales logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l"><%= answers_to_be_deleted_title_text(@bulk_upload) %></h1>
<p>The following cells contain data this is incorrect.</p>

2
app/views/bulk_upload_sales_resume/fix_choice.html.erb

@ -3,7 +3,7 @@
<%= form_with model: @form, scope: :form, url: page_bulk_upload_sales_resume_path(@bulk_upload, page: "fix-choice"), method: :patch do |f| %>
<%= f.govuk_error_summary %>
<span class="govuk-caption-l">Bulk upload for sales (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload sales logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l">How would you like to fix the errors?</h1>
<div class="govuk-body-l">

2
app/views/bulk_upload_sales_soft_validations_check/chosen.html.erb

@ -4,7 +4,7 @@
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<span class="govuk-caption-l">Bulk upload for sales (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload sales logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l">These logs are complete</h1>
<p class="govuk-body">You have created logs from your bulk upload, and the logs are complete. Return to sales logs to view them.</p>

2
app/views/bulk_upload_sales_soft_validations_check/confirm.html.erb

@ -4,7 +4,7 @@
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<span class="govuk-caption-l">Bulk upload for sales (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload sales logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l">You have chosen to upload all logs from this bulk upload.</h1>
<p class="govuk-body"><%= logs_and_soft_validations_warning(@bulk_upload) %></p>

2
app/views/bulk_upload_sales_soft_validations_check/confirm_soft_errors.html.erb

@ -3,7 +3,7 @@
<div class="govuk-grid-column-two-thirds">
<%= f.govuk_error_summary %>
<span class="govuk-caption-l">Bulk upload for sales (<%= @bulk_upload.year_combo %>)</span>
<span class="govuk-caption-l">Upload sales logs in bulk (<%= @bulk_upload.year_combo %>)</span>
<h1 class="govuk-heading-l">Check these <%= pluralize(@bulk_upload.bulk_upload_errors.count, "answer") %> </h1>
<p class="govuk-body-l">Some data from your bulk upload might not be right. Check your file for any errors in the fields below.</p>

2
app/views/logs/edit.html.erb

@ -38,6 +38,6 @@
<%= render "tasklist" %>
<%= edit_actions_for_log(@log) %>
<%= edit_actions_for_log(@log, bulk_upload_filter_applied) %>
</div>
</div>

6
config/locales/en.yml

@ -290,9 +290,9 @@ en:
startdate:
current_collection_year:
"Enter a date within the %{current_start_year_short}/%{current_end_year_short} collection year, which is between %{current_start_year_long} and %{current_end_year_long}."
"Enter a date within the %{current_start_year_short} to %{current_end_year_short} collection year, which is between %{current_start_year_long} and %{current_end_year_long}."
previous_and_current_collection_year:
"Enter a date within the %{previous_start_year_short}/%{previous_end_year_short} or %{previous_end_year_short}/%{current_end_year_short} collection years, which is between %{previous_start_year_long} and %{current_end_year_long}."
"Enter a date within the %{previous_start_year_short} to %{previous_end_year_short} or %{previous_end_year_short} to %{current_end_year_short} collection years, which is between %{previous_start_year_long} and %{current_end_year_long}."
later_than_14_days_after: "The tenancy start date must not be later than 14 days from today’s date."
before_scheme_end_date: "The tenancy start date must be before the end date for this supported housing scheme."
after_void_date: "Enter a tenancy start date that is after the void date."
@ -745,8 +745,6 @@ Make sure these answers are correct."
grant:
title_text: "You told us that the grant amount is %{grant}."
hint_text: "Loans, grants and subsidies are usually between £9,000 and £16,000."
wheelchair:
title_text: "You told us that someone in the household uses a wheelchair."
referral:
title_text: "Are you sure?"
hint_text: "This is a general needs log, and this referral type is for supported housing."

34
config/locales/forms/2023/sales/household_needs.en.yml

@ -0,0 +1,34 @@
en:
forms:
2023:
sales:
household_needs:
hhregres:
page_header: ""
check_answer_label: "Have any of the buyers ever served as a regular in the UK armed forces?"
hint_text: "A regular is somebody who has served in the Royal Navy, the Royal Marines, the Royal Airforce or Army full time and does not include reserve forces"
question_text: "Have any of the buyers ever served as a regular in the UK armed forces?"
hhregresstill:
page_header: ""
check_answer_label: "Are they still serving in the UK armed forces?"
hint_text: ""
question_text: "Is the buyer still serving in the UK armed forces?"
armedforcesspouse:
page_header: ""
check_answer_label: "Are any of the buyers a spouse or civil partner of a UK armed forces regular who died in service within the last 2 years?"
hint_text: ""
question_text: "Are any of the buyers a spouse or civil partner of a UK armed forces regular who died in service within the last 2 years?"
disabled:
page_header: ""
check_answer_label: "Does anyone in the household have a disability?"
hint_text: "This includes any long-term health condition that has an impact on the person's day-to-day life"
question_text: "Does anyone in the household consider themselves to have a disability?"
wheel:
page_header: ""
check_answer_label: "Does anyone in the household use a wheelchair?"
hint_text: "This can be inside or outside the home"
question_text: "Does anyone in the household use a wheelchair?"

6
config/locales/forms/2023/sales/soft_validations.en.yml

@ -87,3 +87,9 @@ en:
not_joint_purchase:
title_text: "You told us the buyer’s deposit was %{deposit} and their savings were %{savings}."
informative_text: "The deposit amount is higher than we would expect for the amount of savings they have."
wheel_value_check:
page_header: ""
check_answer_label: "Does anyone in the household use a wheelchair?"
hint_text: ""
question_text: "You told us that someone in the household uses a wheelchair."
title_text: "You told us that someone in the household uses a wheelchair."

34
config/locales/forms/2024/sales/household_needs.en.yml

@ -0,0 +1,34 @@
en:
forms:
2024:
sales:
household_needs:
hhregres:
page_header: ""
check_answer_label: "Have any of the buyers ever served as a regular in the UK armed forces?"
hint_text: "A regular is somebody who has served in the Royal Navy, the Royal Marines, the Royal Airforce or Army full time and does not include reserve forces"
question_text: "Have any of the buyers ever served as a regular in the UK armed forces?"
hhregresstill:
page_header: ""
check_answer_label: "Are they still serving in the UK armed forces?"
hint_text: ""
question_text: "Is the buyer still serving in the UK armed forces?"
armedforcesspouse:
page_header: ""
check_answer_label: "Are any of the buyers a spouse or civil partner of a UK armed forces regular who died in service within the last 2 years?"
hint_text: ""
question_text: "Are any of the buyers a spouse or civil partner of a UK armed forces regular who died in service within the last 2 years?"
disabled:
page_header: ""
check_answer_label: "Does anyone in the household have a disability?"
hint_text: "This includes any long-term health condition that has an impact on the person's day-to-day life"
question_text: "Does anyone in the household consider themselves to have a disability?"
wheel:
page_header: ""
check_answer_label: "Does anyone in the household use a wheelchair?"
hint_text: "This can be inside or outside the home"
question_text: "Does anyone in the household use a wheelchair?"

7
config/locales/forms/2024/sales/soft_validations.en.yml

@ -96,3 +96,10 @@ en:
question_text: ""
title_text: "No address found."
informative_text: "We could not find an address that matches your search. You can search again or continue to enter the address manually."
wheel_value_check:
page_header: ""
check_answer_label: "Does anyone in the household use a wheelchair?"
hint_text: ""
question_text: "You told us that someone in the household uses a wheelchair."
title_text: "You told us that someone in the household uses a wheelchair."

4
config/locales/validations/sales/setup.en.yml

@ -7,9 +7,9 @@ en:
next_two_weeks: "Sale completion date must not be later than 14 days from today’s date."
must_be_within:
current_collection_year:
"Enter a date within the %{current_start_year_short}/%{current_end_year_short} collection year, which is between %{current_start_year_long} and %{current_end_year_long}."
"Enter a date within the %{current_start_year_short} to %{current_end_year_short} collection year, which is between %{current_start_year_long} and %{current_end_year_long}."
previous_and_current_collection_year:
"Enter a date within the %{previous_start_year_short}/%{previous_end_year_short} or %{previous_end_year_short}/%{current_end_year_short} collection years, which is between %{previous_start_year_long} and %{current_end_year_long}."
"Enter a date within the %{previous_start_year_short} to %{previous_end_year_short} or %{previous_end_year_short} to %{current_end_year_short} collection years, which is between %{previous_start_year_long} and %{current_end_year_long}."
invalid:
merged_organisations:
"Enter a date when the owning organisation was active. %{owning_organisation} became inactive on %{merge_date} and was replaced by %{absorbing_organisation}."

4
docs/Gemfile.lock

@ -226,8 +226,7 @@ GEM
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.3.6)
strscan
rexml (3.3.9)
rouge (3.26.0)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
@ -242,7 +241,6 @@ GEM
faraday (>= 0.17.3, < 3)
simpleidn (0.2.1)
unf (~> 0.1.4)
strscan (3.1.0)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
typhoeus (1.4.0)

2
spec/components/bulk_upload_summary_component_spec.rb

@ -12,7 +12,7 @@ RSpec.describe BulkUploadSummaryComponent, type: :component do
it "shows the collection year" do
result = render_inline(described_class.new(bulk_upload:))
expect(result).to have_content("2024/2025")
expect(result).to have_content("2024 to 2025")
end
it "includes a download file link" do

11
spec/features/bulk_upload_lettings_logs_spec.rb

@ -5,8 +5,7 @@ RSpec.describe "Bulk upload lettings log" do
let(:user) { create(:user) }
let(:current_year) { current_collection_start_year }
let(:current_formatted_year) { "#{current_year}/#{current_year + 1}" }
let(:current_formatted_short_year) { "#{current_year}/#{current_year - 2000 + 1}" }
let(:current_formatted_year) { "#{current_year} to #{current_year + 1}" }
let(:stub_file_upload) do
vcap_services = { "aws-s3-bucket" => {} }
@ -47,12 +46,12 @@ RSpec.describe "Bulk upload lettings log" do
expect(page.find_field("form-year-#{current_year}-field")).to be_checked
click_button("Continue")
expect(page).to have_content("Upload lettings logs in bulk (#{current_formatted_short_year})")
expect(page).to have_content("Upload lettings logs in bulk (#{current_formatted_year})")
click_button("Continue")
expect(page).not_to have_content("What is the needs type?")
expect(page).to have_content("Upload lettings logs in bulk (#{current_formatted_short_year})")
expect(page).to have_content("Upload lettings logs in bulk (#{current_formatted_year})")
expect(page).to have_content("Upload your file")
click_button("Upload")
@ -88,7 +87,7 @@ RSpec.describe "Bulk upload lettings log" do
expect(page).to have_link("Upload lettings logs in bulk")
click_link("Upload lettings logs in bulk")
expect(page).to have_content("Upload lettings logs in bulk (#{current_formatted_short_year})")
expect(page).to have_content("Upload lettings logs in bulk (#{current_formatted_year})")
click_button("Continue")
expect(page).to have_content("Upload your file")
@ -107,7 +106,7 @@ RSpec.describe "Bulk upload lettings log" do
expect(page).to have_content("Prepare your file")
click_button("Continue")
expect(page).to have_content("Upload lettings logs in bulk (#{current_formatted_short_year})")
expect(page).to have_content("Upload lettings logs in bulk (#{current_formatted_year})")
expect(page).to have_content("Upload your file")
click_button("Upload")

6
spec/features/bulk_upload_sales_logs_spec.rb

@ -38,7 +38,7 @@ RSpec.describe "Bulk upload sales log" do
click_button("Continue")
expect(page).to have_content("You must select a collection period to upload for")
choose("2023/2024")
choose("2023 to 2024")
click_button("Continue")
click_link("Back")
@ -46,7 +46,7 @@ RSpec.describe "Bulk upload sales log" do
expect(page.find_field("form-year-2023-field")).to be_checked
click_button("Continue")
expect(page).to have_content("Upload sales logs in bulk (2023/24)")
expect(page).to have_content("Upload sales logs in bulk (2023 to 2024)")
click_button("Continue")
expect(page).to have_content("Upload your file")
@ -88,7 +88,7 @@ RSpec.describe "Bulk upload sales log" do
expect(page).to have_link("Upload sales logs in bulk")
click_link("Upload sales logs in bulk")
expect(page).to have_content("Upload sales logs in bulk (2023/24)")
expect(page).to have_content("Upload sales logs in bulk (2023 to 2024)")
click_button("Continue")
expect(page).to have_content("Upload your file")

2
spec/features/sales_log_spec.rb

@ -191,7 +191,7 @@ RSpec.describe "Sales Log Features" do
context "when one year filter is selected" do
before do
check("2024")
check("2024 to 2025")
click_button("Apply filters")
end

12
spec/helpers/filters_helper_spec.rb

@ -491,7 +491,7 @@ RSpec.describe FiltersHelper do
it "has the correct options" do
expect(collection_year_options).to eq(
{
"2023" => "2023/24", "2022" => "2022/23", "2021" => "2021/22"
"2023" => "2023 to 2024", "2022" => "2022 to 2023", "2021" => "2021 to 2022"
},
)
end
@ -505,7 +505,7 @@ RSpec.describe FiltersHelper do
it "has the correct options" do
expect(collection_year_options).to eq(
{
"2023" => "2023/24", "2022" => "2022/23"
"2023" => "2023 to 2024", "2022" => "2022 to 2023"
},
)
end
@ -520,7 +520,7 @@ RSpec.describe FiltersHelper do
it "has the correct options" do
expect(collection_year_options).to eq(
{
"2024" => "2024/25", "2023" => "2023/24", "2022" => "2022/23"
"2024" => "2024 to 2025", "2023" => "2023 to 2024", "2022" => "2022 to 2023"
},
)
end
@ -541,7 +541,7 @@ RSpec.describe FiltersHelper do
it "has the correct options" do
expect(collection_year_radio_options).to eq(
{
"2023" => { label: "2023/24" }, "2022" => { label: "2022/23" }, "2021" => { label: "2021/22" }
"2023" => { label: "2023 to 2024" }, "2022" => { label: "2022 to 2023" }, "2021" => { label: "2021 to 2022" }
},
)
end
@ -555,7 +555,7 @@ RSpec.describe FiltersHelper do
it "has the correct options" do
expect(collection_year_radio_options).to eq(
{
"2023" => { label: "2023/24" }, "2022" => { label: "2022/23" }
"2023" => { label: "2023 to 2024" }, "2022" => { label: "2022 to 2023" }
},
)
end
@ -570,7 +570,7 @@ RSpec.describe FiltersHelper do
it "has the correct options" do
expect(collection_year_radio_options).to eq(
{
"2024" => { label: "2024/25" }, "2023" => { label: "2023/24" }, "2022" => { label: "2022/23" }
"2024" => { label: "2024 to 2025" }, "2023" => { label: "2023 to 2024" }, "2022" => { label: "2022 to 2023" }
},
)
end

8
spec/helpers/tasklist_helper_spec.rb

@ -143,7 +143,7 @@ RSpec.describe TasklistHelper do
end
it "returns relevant text" do
expect(review_log_text(sales_log)).to eq("This log is from the 2022/2023 collection window, which is now closed.")
expect(review_log_text(sales_log)).to eq("This log is from the 2022 to 2023 collection window, which is now closed.")
end
end
@ -156,7 +156,7 @@ RSpec.describe TasklistHelper do
end
it "returns relevant text" do
expect(review_log_text(sales_log)).to eq("This log is from the 2021/2022 collection window, which is now closed.")
expect(review_log_text(sales_log)).to eq("This log is from the 2021 to 2022 collection window, which is now closed.")
end
end
end
@ -186,7 +186,7 @@ RSpec.describe TasklistHelper do
end
it "returns relevant text" do
expect(review_log_text(lettings_log)).to eq("This log is from the 2022/2023 collection window, which is now closed.")
expect(review_log_text(lettings_log)).to eq("This log is from the 2022 to 2023 collection window, which is now closed.")
end
end
@ -199,7 +199,7 @@ RSpec.describe TasklistHelper do
end
it "returns relevant text" do
expect(review_log_text(lettings_log)).to eq("This log is from the 2021/2022 collection window, which is now closed.")
expect(review_log_text(lettings_log)).to eq("This log is from the 2021 to 2022 collection window, which is now closed.")
end
end
end

4
spec/models/bulk_upload_spec.rb

@ -39,8 +39,8 @@ RSpec.describe BulkUpload, type: :model do
describe "year_combo" do
[
{ year: 2023, expected_value: "2023/24" },
{ year: 2024, expected_value: "2024/25" },
{ year: 2023, expected_value: "2023 to 2024" },
{ year: 2024, expected_value: "2024 to 2025" },
].each do |test_case|
context "when the bulk upload year is #{test_case[:year]}" do
let(:bulk_upload) { build(:bulk_upload, year: test_case[:year]) }

3
spec/models/form/sales/pages/household_wheelchair_check_spec.rb

@ -5,7 +5,8 @@ RSpec.describe Form::Sales::Pages::HouseholdWheelchairCheck, type: :model do
let(:page_id) { "buyer_1_income_mortgage_value_check" }
let(:page_definition) { nil }
let(:subsection) { instance_double(Form::Subsection) }
let(:form) { instance_double(Form, start_date: Time.zone.local(2024, 4, 1)) }
let(:subsection) { instance_double(Form::Subsection, form:) }
it "has correct subsection" do
expect(page.subsection).to eq(subsection)

3
spec/models/form/sales/subsections/household_needs_spec.rb

@ -5,7 +5,8 @@ RSpec.describe Form::Sales::Subsections::HouseholdNeeds, type: :model do
let(:subsection_id) { nil }
let(:subsection_definition) { nil }
let(:section) { instance_double(Form::Sales::Sections::Household) }
let(:form) { instance_double(Form, start_date: Time.zone.local(2024, 4, 1)) }
let(:section) { instance_double(Form::Sales::Sections::Household, form:) }
it "has correct section" do
expect(household_characteristics.section).to eq(section)

6
spec/models/forms/bulk_upload_lettings/year_spec.rb

@ -17,7 +17,7 @@ RSpec.describe Forms::BulkUploadLettings::Year do
it "returns current and previous years" do
expect(form.options.map(&:id)).to eql([2024, 2023])
expect(form.options.map(&:name)).to eql(%w[2024/2025 2023/2024])
expect(form.options.map(&:name)).to eql(["2024 to 2025", "2023 to 2024"])
end
end
@ -28,7 +28,7 @@ RSpec.describe Forms::BulkUploadLettings::Year do
it "returns the current year" do
expect(form.options.map(&:id)).to eql([2024])
expect(form.options.map(&:name)).to eql(%w[2024/2025])
expect(form.options.map(&:name)).to eql(["2024 to 2025"])
end
end
@ -40,7 +40,7 @@ RSpec.describe Forms::BulkUploadLettings::Year do
it "returns current and next years" do
expect(form.options.map(&:id)).to eql([2024, 2025])
expect(form.options.map(&:name)).to eql(%w[2024/2025 2025/2026])
expect(form.options.map(&:name)).to eql(["2024 to 2025", "2025 to 2026"])
end
end
end

6
spec/models/forms/bulk_upload_sales/year_spec.rb

@ -17,7 +17,7 @@ RSpec.describe Forms::BulkUploadSales::Year do
it "returns current and previous years" do
expect(form.options.map(&:id)).to eql([2024, 2023])
expect(form.options.map(&:name)).to eql(%w[2024/2025 2023/2024])
expect(form.options.map(&:name)).to eql(["2024 to 2025", "2023 to 2024"])
end
end
@ -28,7 +28,7 @@ RSpec.describe Forms::BulkUploadSales::Year do
it "returns the current year" do
expect(form.options.map(&:id)).to eql([2024])
expect(form.options.map(&:name)).to eql(%w[2024/2025])
expect(form.options.map(&:name)).to eql(["2024 to 2025"])
end
end
@ -44,7 +44,7 @@ RSpec.describe Forms::BulkUploadSales::Year do
it "returns current and next years" do
expect(form.options.map(&:id)).to eql([2024, 2025])
expect(form.options.map(&:name)).to eql(%w[2024/2025 2025/2026])
expect(form.options.map(&:name)).to eql(["2024 to 2025", "2025 to 2026"])
end
end
end

16
spec/models/validations/sales/setup_validations_spec.rb

@ -37,7 +37,7 @@ RSpec.describe Validations::Sales::SetupValidations do
it "adds error" do
setup_validator.validate_saledate_collection_year(record)
expect(record.errors[:saledate]).to include(/Enter a date within the \d{2}\/\d{2} collection year, which is between 1st April \d{4} and 31st March \d{4}/)
expect(record.errors[:saledate]).to include(/Enter a date within the \d{4} to \d{4} collection year, which is between 1st April \d{4} and 31st March \d{4}/)
end
end
@ -47,7 +47,7 @@ RSpec.describe Validations::Sales::SetupValidations do
it "adds error" do
setup_validator.validate_saledate_collection_year(record)
expect(record.errors[:saledate]).to include(/Enter a date within the \d{2}\/\d{2} collection year, which is between 1st April \d{4} and 31st March \d{4}/)
expect(record.errors[:saledate]).to include(/Enter a date within the \d{4} to \d{4} collection year, which is between 1st April \d{4} and 31st March \d{4}/)
end
end
end
@ -91,7 +91,7 @@ RSpec.describe Validations::Sales::SetupValidations do
it "adds error" do
setup_validator.validate_saledate_collection_year(record)
expect(record.errors[:saledate]).to include("Enter a date within the 23/24 or 24/25 collection years, which is between 1st April 2023 and 31st March 2025.")
expect(record.errors[:saledate]).to include("Enter a date within the 2023 to 2024 or 2024 to 2025 collection years, which is between 1st April 2023 and 31st March 2025.")
end
end
@ -105,7 +105,7 @@ RSpec.describe Validations::Sales::SetupValidations do
it "adds error" do
setup_validator.validate_saledate_collection_year(record)
expect(record.errors[:saledate]).to include("Enter a date within the 23/24 or 24/25 collection years, which is between 1st April 2023 and 31st March 2025.")
expect(record.errors[:saledate]).to include("Enter a date within the 2023 to 2024 or 2024 to 2025 collection years, which is between 1st April 2023 and 31st March 2025.")
end
end
@ -119,7 +119,7 @@ RSpec.describe Validations::Sales::SetupValidations do
it "cannot create new logs for the archived collection year" do
record.saledate = Time.zone.local(2023, 1, 1)
setup_validator.validate_saledate_collection_year(record)
expect(record.errors["saledate"]).to include(match "Enter a date within the 23/24 or 24/25 collection years, which is between 1st April 2023 and 31st March 2025.")
expect(record.errors["saledate"]).to include(match "Enter a date within the 2023 to 2024 or 2024 to 2025 collection years, which is between 1st April 2023 and 31st March 2025.")
end
it "can edit already created logs for the previous collection year" do
@ -127,7 +127,7 @@ RSpec.describe Validations::Sales::SetupValidations do
record.save!(validate: false)
record.saledate = Time.zone.local(2024, 1, 1)
setup_validator.validate_saledate_collection_year(record)
expect(record.errors["saledate"]).not_to include(match "Enter a date within the 24/25 collection year, which is between 1st April 2024 and 31st March 2025.")
expect(record.errors["saledate"]).not_to include(match "Enter a date within the 2024 to 2025 collection year, which is between 1st April 2024 and 31st March 2025.")
end
end
@ -142,7 +142,7 @@ RSpec.describe Validations::Sales::SetupValidations do
record.update!(saledate: nil)
record.saledate = Time.zone.local(2023, 1, 1)
setup_validator.validate_saledate_collection_year(record)
expect(record.errors["saledate"]).to include(match "Enter a date within the 23/24 or 24/25 collection years, which is between 1st April 2023 and 31st March 2025.")
expect(record.errors["saledate"]).to include(match "Enter a date within the 2023 to 2024 or 2024 to 2025 collection years, which is between 1st April 2023 and 31st March 2025.")
end
it "cannot edit already created logs for the archived collection year" do
@ -150,7 +150,7 @@ RSpec.describe Validations::Sales::SetupValidations do
record.save!(validate: false)
record.saledate = Time.zone.local(2023, 1, 1)
setup_validator.validate_saledate_collection_year(record)
expect(record.errors["saledate"]).to include(match "Enter a date within the 23/24 or 24/25 collection years, which is between 1st April 2023 and 31st March 2025.")
expect(record.errors["saledate"]).to include(match "Enter a date within the 2023 to 2024 or 2024 to 2025 collection years, which is between 1st April 2023 and 31st March 2025.")
end
end
end

30
spec/models/validations/setup_validations_spec.rb

@ -7,7 +7,7 @@ RSpec.describe Validations::SetupValidations do
let(:record) { build(:lettings_log) }
describe "tenancy start date" do
context "when in 22/23 collection" do
context "when in 2022 to 2023 collection" do
context "when in the crossover period" do
before do
allow(Time).to receive(:now).and_return(Time.zone.local(2022, 4, 1))
@ -18,14 +18,14 @@ RSpec.describe Validations::SetupValidations do
record.startdate = Time.zone.local(2021, 1, 1)
setup_validator.validate_startdate_setup(record)
setup_validator.validate_merged_organisations_start_date(record)
expect(record.errors["startdate"]).to include(match "Enter a date within the 21/22 or 22/23 collection years, which is between 1st April 2021 and 31st March 2023")
expect(record.errors["startdate"]).to include(match "Enter a date within the 2021 to 2022 or 2022 to 2023 collection years, which is between 1st April 2021 and 31st March 2023")
end
it "cannot be after the second collection window end date" do
record.startdate = Time.zone.local(2023, 7, 1, 6)
setup_validator.validate_startdate_setup(record)
setup_validator.validate_merged_organisations_start_date(record)
expect(record.errors["startdate"]).to include(match "Enter a date within the 21/22 or 22/23 collection years, which is between 1st April 2021 and 31st March 2023")
expect(record.errors["startdate"]).to include(match "Enter a date within the 2021 to 2022 or 2022 to 2023 collection years, which is between 1st April 2021 and 31st March 2023")
end
end
@ -39,19 +39,19 @@ RSpec.describe Validations::SetupValidations do
record.startdate = Time.zone.local(2022, 1, 1)
setup_validator.validate_startdate_setup(record)
setup_validator.validate_merged_organisations_start_date(record)
expect(record.errors["startdate"]).to include(match "Enter a date within the 22/23 collection year, which is between 1st April 2022 and 31st March 2023")
expect(record.errors["startdate"]).to include(match "Enter a date within the 2022 to 2023 collection year, which is between 1st April 2022 and 31st March 2023")
end
it "cannot be after the second collection window end date" do
record.startdate = Time.zone.local(2023, 7, 1, 6)
setup_validator.validate_startdate_setup(record)
setup_validator.validate_merged_organisations_start_date(record)
expect(record.errors["startdate"]).to include(match "Enter a date within the 22/23 collection year, which is between 1st April 2022 and 31st March 2023")
expect(record.errors["startdate"]).to include(match "Enter a date within the 2022 to 2023 collection year, which is between 1st April 2022 and 31st March 2023")
end
end
end
context "when in 23/24 collection" do
context "when in 2023 to 2024 collection" do
context "when in the crossover period" do
before do
allow(Time).to receive(:now).and_return(Time.zone.local(2023, 4, 1))
@ -62,14 +62,14 @@ RSpec.describe Validations::SetupValidations do
record.startdate = Time.zone.local(2022, 1, 1)
setup_validator.validate_startdate_setup(record)
setup_validator.validate_merged_organisations_start_date(record)
expect(record.errors["startdate"]).to include(match "Enter a date within the 22/23 or 23/24 collection years, which is between 1st April 2022 and 31st March 2024")
expect(record.errors["startdate"]).to include(match "Enter a date within the 2022 to 2023 or 2023 to 2024 collection years, which is between 1st April 2022 and 31st March 2024")
end
it "cannot be after the second collection window end date" do
record.startdate = Time.zone.local(2024, 7, 1, 6)
setup_validator.validate_startdate_setup(record)
setup_validator.validate_merged_organisations_start_date(record)
expect(record.errors["startdate"]).to include(match "Enter a date within the 22/23 or 23/24 collection years, which is between 1st April 2022 and 31st March 2024")
expect(record.errors["startdate"]).to include(match "Enter a date within the 2022 to 2023 or 2023 to 2024 collection years, which is between 1st April 2022 and 31st March 2024")
end
end
@ -83,14 +83,14 @@ RSpec.describe Validations::SetupValidations do
record.startdate = Time.zone.local(2023, 1, 1)
setup_validator.validate_startdate_setup(record)
setup_validator.validate_merged_organisations_start_date(record)
expect(record.errors["startdate"]).to include(match "Enter a date within the 23/24 collection year, which is between 1st April 2023 and 31st March 2024")
expect(record.errors["startdate"]).to include(match "Enter a date within the 2023 to 2024 collection year, which is between 1st April 2023 and 31st March 2024")
end
it "cannot be after the second collection window end date" do
record.startdate = Time.zone.local(2024, 7, 1, 6)
setup_validator.validate_startdate_setup(record)
setup_validator.validate_merged_organisations_start_date(record)
expect(record.errors["startdate"]).to include(match "Enter a date within the 23/24 collection year, which is between 1st April 2023 and 31st March 2024")
expect(record.errors["startdate"]).to include(match "Enter a date within the 2023 to 2024 collection year, which is between 1st April 2023 and 31st March 2024")
end
end
@ -104,7 +104,7 @@ RSpec.describe Validations::SetupValidations do
record.startdate = Time.zone.local(2023, 1, 1)
setup_validator.validate_startdate_setup(record)
setup_validator.validate_merged_organisations_start_date(record)
expect(record.errors["startdate"]).to include(match "Enter a date within the 23/24 collection year, which is between 1st April 2023 and 31st March 2024")
expect(record.errors["startdate"]).to include(match "Enter a date within the 2023 to 2024 collection year, which is between 1st April 2023 and 31st March 2024")
end
xit "can edit already created logs for the previous collection year" do
@ -113,7 +113,7 @@ RSpec.describe Validations::SetupValidations do
record.startdate = Time.zone.local(2023, 1, 1)
setup_validator.validate_startdate_setup(record)
setup_validator.validate_merged_organisations_start_date(record)
expect(record.errors["startdate"]).not_to include(match "Enter a date within the 23/24 collection year, which is between 1st April 2023 and 31st March 2024")
expect(record.errors["startdate"]).not_to include(match "Enter a date within the 2023 to 2024 collection year, which is between 1st April 2023 and 31st March 2024")
end
end
@ -127,7 +127,7 @@ RSpec.describe Validations::SetupValidations do
record.startdate = Time.zone.local(2023, 1, 1)
setup_validator.validate_startdate_setup(record)
setup_validator.validate_merged_organisations_start_date(record)
expect(record.errors["startdate"]).to include(match "Enter a date within the 23/24 collection year, which is between 1st April 2023 and 31st March 2024")
expect(record.errors["startdate"]).to include(match "Enter a date within the 2023 to 2024 collection year, which is between 1st April 2023 and 31st March 2024")
end
it "cannot edit already created logs for the previous collection year" do
@ -136,7 +136,7 @@ RSpec.describe Validations::SetupValidations do
record.startdate = Time.zone.local(2023, 1, 1)
setup_validator.validate_startdate_setup(record)
setup_validator.validate_merged_organisations_start_date(record)
expect(record.errors["startdate"]).to include(match "Enter a date within the 23/24 collection year, which is between 1st April 2023 and 31st March 2024")
expect(record.errors["startdate"]).to include(match "Enter a date within the 2023 to 2024 collection year, which is between 1st April 2023 and 31st March 2024")
end
end
end
@ -157,7 +157,7 @@ RSpec.describe Validations::SetupValidations do
record.startdate = Time.zone.local(2024, 4, 1)
setup_validator.validate_startdate_setup(record)
expect(record.errors["startdate"].length).to be >= 2
expect(record.errors["startdate"][0]).to eq("Enter a date within the 23/24 collection year, which is between 1st April 2023 and 31st March 2024.")
expect(record.errors["startdate"][0]).to eq("Enter a date within the 2023 to 2024 collection year, which is between 1st April 2023 and 31st March 2024.")
expect(record.errors["startdate"][1]).to eq(I18n.t("validations.setup.startdate.later_than_14_days_after"))
end
end

4
spec/requests/bulk_upload_lettings_results_controller_spec.rb

@ -16,7 +16,7 @@ RSpec.describe BulkUploadLettingsResultsController, type: :request do
get "/lettings-logs/bulk-upload-results/#{bulk_upload.id}/summary"
expect(response).to be_successful
expect(response.body).to include("Bulk upload for lettings (#{bulk_upload.year_combo})")
expect(response.body).to include("Upload lettings logs in bulk (#{bulk_upload.year_combo})")
end
it "renders the bulk upload filename" do
@ -90,7 +90,7 @@ RSpec.describe BulkUploadLettingsResultsController, type: :request do
get "/lettings-logs/bulk-upload-results/#{bulk_upload.id}"
expect(response).to be_successful
expect(response.body).to include("Bulk upload for lettings (#{bulk_upload.year_combo})")
expect(response.body).to include("Upload lettings logs in bulk (#{bulk_upload.year_combo})")
end
it "renders correct number of errors" do

8
spec/requests/bulk_upload_lettings_resume_controller_spec.rb

@ -60,7 +60,7 @@ RSpec.describe BulkUploadLettingsResumeController, type: :request do
expect(response).to be_successful
expect(response.body).to include("Bulk upload for lettings")
expect(response.body).to include("Upload lettings logs in bulk")
expect(response.body).to include(bulk_upload.year_combo)
expect(response.body).to include("View the error report")
expect(response.body).to include("How would you like to fix the errors?")
@ -120,7 +120,7 @@ RSpec.describe BulkUploadLettingsResumeController, type: :request do
expect(response).to be_successful
expect(response.body).to include("Bulk upload for lettings")
expect(response.body).to include("Upload lettings logs in bulk")
expect(response.body).to include("Cancel")
end
end
@ -218,7 +218,7 @@ RSpec.describe BulkUploadLettingsResumeController, type: :request do
expect(response).to be_successful
expect(response.body).to include("Bulk upload for lettings")
expect(response.body).to include("Upload lettings logs in bulk")
expect(response.body).to include(bulk_upload.year_combo)
expect(response.body).to include("These 2 answers will be deleted if you upload the log")
expect(response.body).to include(bulk_upload.filename)
@ -260,7 +260,7 @@ RSpec.describe BulkUploadLettingsResumeController, type: :request do
expect(response).to be_successful
expect(response.body).to include("Bulk upload for lettings")
expect(response.body).to include("Upload lettings logs in bulk")
expect(response.body).to include(bulk_upload.year_combo)
expect(response.body).to include("These 2 answers will be deleted if you upload the log")
expect(response.body).to include(bulk_upload.filename)

2
spec/requests/bulk_upload_lettings_soft_validations_check_controller_spec.rb

@ -14,7 +14,7 @@ RSpec.describe BulkUploadLettingsSoftValidationsCheckController, type: :request
it "shows the soft validation errors with confirmation question" do
get "/lettings-logs/bulk-upload-soft-validations-check/#{bulk_upload.id}/confirm-soft-errors"
expect(response.body).to include("Bulk upload for lettings")
expect(response.body).to include("Upload lettings logs in bulk")
expect(response.body).to include(bulk_upload.year_combo)
expect(response.body).to include("Check these 2 answers")
expect(response.body).to include(bulk_upload.filename)

2
spec/requests/bulk_upload_sales_results_controller_spec.rb

@ -52,7 +52,7 @@ RSpec.describe BulkUploadSalesResultsController, type: :request do
get "/sales-logs/bulk-upload-results/#{bulk_upload.id}"
expect(response).to be_successful
expect(response.body).to include("Bulk Upload for sales (#{bulk_upload.year_combo})")
expect(response.body).to include("Upload sales logs in bulk (#{bulk_upload.year_combo})")
end
it "renders correct number of errors" do

8
spec/requests/bulk_upload_sales_resume_controller_spec.rb

@ -60,7 +60,7 @@ RSpec.describe BulkUploadSalesResumeController, type: :request do
expect(response).to be_successful
expect(response.body).to include("Bulk upload for sales")
expect(response.body).to include("Upload sales logs in bulk")
expect(response.body).to include(bulk_upload.year_combo)
expect(response.body).to include("View the error report")
expect(response.body).to include("How would you like to fix the errors?")
@ -120,7 +120,7 @@ RSpec.describe BulkUploadSalesResumeController, type: :request do
expect(response).to be_successful
expect(response.body).to include("Bulk upload for sales")
expect(response.body).to include("Upload sales logs in bulk")
expect(response.body).to include("Cancel")
end
end
@ -218,7 +218,7 @@ RSpec.describe BulkUploadSalesResumeController, type: :request do
expect(response).to be_successful
expect(response.body).to include("Bulk upload for sales")
expect(response.body).to include("Upload sales logs in bulk")
expect(response.body).to include(bulk_upload.year_combo)
expect(response.body).to include("These 2 answers will be deleted if you upload the log")
expect(response.body).to include(bulk_upload.filename)
@ -260,7 +260,7 @@ RSpec.describe BulkUploadSalesResumeController, type: :request do
expect(response).to be_successful
expect(response.body).to include("Bulk upload for sales")
expect(response.body).to include("Upload sales logs in bulk")
expect(response.body).to include(bulk_upload.year_combo)
expect(response.body).to include("These 2 answers will be deleted if you upload the log")
expect(response.body).to include(bulk_upload.filename)

2
spec/requests/bulk_upload_sales_soft_validations_check_controller_spec.rb

@ -14,7 +14,7 @@ RSpec.describe BulkUploadSalesSoftValidationsCheckController, type: :request do
it "shows the soft validation errors with confirmation question" do
get "/sales-logs/bulk-upload-soft-validations-check/#{bulk_upload.id}/confirm-soft-errors"
expect(response.body).to include("Bulk upload for sales")
expect(response.body).to include("Upload sales logs in bulk")
expect(response.body).to include(bulk_upload.year_combo)
expect(response.body).to include("Check these 2 answers")
expect(response.body).to include(bulk_upload.filename)

27
spec/requests/lettings_logs_controller_spec.rb

@ -1158,6 +1158,31 @@ RSpec.describe LettingsLogsController, type: :request do
expect(page).to have_link("review and make changes to this log", href: "/lettings-logs/#{lettings_log.id}/review")
end
end
context "with bulk_upload_id filter" do
let(:bulk_upload) { create(:bulk_upload, :lettings, user:) }
let(:lettings_log) { create(:lettings_log, :completed, age1: nil, bulk_upload:, assigned_to: user, creation_method: "bulk upload") }
before do
lettings_log.status = "completed"
lettings_log.skip_update_status = true
lettings_log.save!(validate: false)
end
context "with bulk_upload_id filter in session" do
it "displays back to uploaded logs link" do
get "/lettings-logs/#{lettings_log.id}?bulk_upload_id[]=#{bulk_upload.id}"
expect(page).to have_link("Back to uploaded logs")
end
end
context "without bulk_upload_id filter in session" do
it "does not display back to uploaded logs link" do
get "/lettings-logs/#{lettings_log.id}"
expect(page).not_to have_link("Back to uploaded logs")
end
end
end
end
context "with lettings logs from a closed collection period before the previous collection" do
@ -1177,7 +1202,7 @@ RSpec.describe LettingsLogsController, type: :request do
it "displays a closed collection window message for previous collection year logs" do
follow_redirect!
expect(page).to have_content(/This log is from the \d{4}\/\d{4} collection window, which is now closed\./)
expect(page).to have_content(/This log is from the \d{4} to \d{4} collection window, which is now closed\./)
end
end

2
spec/requests/sales_logs_controller_spec.rb

@ -954,7 +954,7 @@ RSpec.describe SalesLogsController, type: :request do
expect(completed_sales_log.form.new_logs_end_date).to eq(Time.zone.local(2022, 12, 31))
expect(completed_sales_log.status).to eq("completed")
follow_redirect!
expect(page).to have_content("This log is from the 2021/2022 collection window, which is now closed.")
expect(page).to have_content("This log is from the 2021 to 2022 collection window, which is now closed.")
end
end
end

26
spec/views/logs/edit.html.erb_spec.rb

@ -1,11 +1,13 @@
require "rails_helper"
RSpec.describe "logs/edit.html.erb" do
let(:current_user) { create(:user, :support) }
before do
Timecop.freeze(Time.zone.local(2024, 3, 1))
Singleton.__init__(FormHandler)
assign(:log, log)
sign_in create(:user, :support)
sign_in current_user
end
after do
@ -17,7 +19,7 @@ RSpec.describe "logs/edit.html.erb" do
let(:log) { create(:lettings_log, :in_progress) }
it "there is no link back to log type root" do
render
render template: "logs/edit", locals: { current_user:, bulk_upload_filter_applied: false }
fragment = Capybara::Node::Simple.new(rendered)
@ -25,7 +27,7 @@ RSpec.describe "logs/edit.html.erb" do
end
it "has link 'Delete log'" do
render
render template: "logs/edit", locals: { current_user:, bulk_upload_filter_applied: false }
fragment = Capybara::Node::Simple.new(rendered)
@ -38,7 +40,7 @@ RSpec.describe "logs/edit.html.erb" do
let(:log) { create(:lettings_log, :completed) }
it "has link 'Back to lettings logs'" do
render
render template: "logs/edit", locals: { current_user:, bulk_upload_filter_applied: false }
fragment = Capybara::Node::Simple.new(rendered)
@ -46,7 +48,7 @@ RSpec.describe "logs/edit.html.erb" do
end
it "has link 'Delete log'" do
render
render template: "logs/edit", locals: { current_user:, bulk_upload_filter_applied: false }
fragment = Capybara::Node::Simple.new(rendered)
@ -58,7 +60,7 @@ RSpec.describe "logs/edit.html.erb" do
let(:log) { create(:sales_log, :completed) }
it "has link 'Back to sales logs'" do
render
render template: "logs/edit", locals: { current_user:, bulk_upload_filter_applied: false }
fragment = Capybara::Node::Simple.new(rendered)
@ -66,7 +68,7 @@ RSpec.describe "logs/edit.html.erb" do
end
it "has link 'Delete log'" do
render
render template: "logs/edit", locals: { current_user:, bulk_upload_filter_applied: false }
fragment = Capybara::Node::Simple.new(rendered)
@ -79,7 +81,7 @@ RSpec.describe "logs/edit.html.erb" do
let(:log) { create(:lettings_log, :completed, bulk_upload:, creation_method: "bulk upload") }
it "has link 'Back to uploaded logs'" do
render
render template: "logs/edit", locals: { current_user:, bulk_upload_filter_applied: true }
fragment = Capybara::Node::Simple.new(rendered)
@ -87,7 +89,7 @@ RSpec.describe "logs/edit.html.erb" do
end
it "has link 'Delete log'" do
render
render template: "logs/edit", locals: { current_user:, bulk_upload_filter_applied: true }
fragment = Capybara::Node::Simple.new(rendered)
@ -99,7 +101,7 @@ RSpec.describe "logs/edit.html.erb" do
let(:log) { create(:lettings_log, :completed, bulk_upload: nil, creation_method: "bulk upload") }
it "does not have link 'Back to uploaded logs'" do
render
render template: "logs/edit", locals: { current_user:, bulk_upload_filter_applied: false }
fragment = Capybara::Node::Simple.new(rendered)
@ -112,7 +114,7 @@ RSpec.describe "logs/edit.html.erb" do
let(:log) { create(:sales_log, :completed, bulk_upload:, creation_method: "bulk upload") }
it "has link 'Back to uploaded logs'" do
render
render template: "logs/edit", locals: { current_user:, bulk_upload_filter_applied: true }
fragment = Capybara::Node::Simple.new(rendered)
@ -120,7 +122,7 @@ RSpec.describe "logs/edit.html.erb" do
end
it "has link 'Delete log'" do
render
render template: "logs/edit", locals: { current_user:, bulk_upload_filter_applied: true }
fragment = Capybara::Node::Simple.new(rendered)

Loading…
Cancel
Save