Browse Source

Correclty route if has other client group changed from no to yes

pull/2802/head
Kat 1 year ago
parent
commit
f2231a5201
  1. 4
      app/controllers/schemes_controller.rb
  2. 1
      app/helpers/schemes_helper.rb
  3. 7
      spec/requests/schemes_controller_spec.rb

4
app/controllers/schemes_controller.rb

@ -150,7 +150,7 @@ class SchemesController < ApplicationController
@scheme.update!(secondary_client_group: nil) if @scheme.has_other_client_group == "No" @scheme.update!(secondary_client_group: nil) if @scheme.has_other_client_group == "No"
if scheme_params[:confirmed] == "true" || @scheme.confirmed? if scheme_params[:confirmed] == "true" || @scheme.confirmed?
if check_answers && should_direct_via_secondary_client_group_page?(page) if check_answers && should_direct_via_secondary_client_group_page?(page)
redirect_to scheme_secondary_client_group_path(@scheme, referrer: "check-answers") redirect_to scheme_secondary_client_group_path(@scheme, referrer: "has-other-client-group")
else else
@scheme.locations.update!(confirmed: true) @scheme.locations.update!(confirmed: true)
flash[:notice] = if scheme_previously_confirmed flash[:notice] = if scheme_previously_confirmed
@ -162,7 +162,7 @@ class SchemesController < ApplicationController
end end
elsif check_answers elsif check_answers
if should_direct_via_secondary_client_group_page?(page) if should_direct_via_secondary_client_group_page?(page)
redirect_to scheme_secondary_client_group_path(@scheme, referrer: "check-answers") redirect_to scheme_secondary_client_group_path(@scheme, referrer: "has-other-client-group")
else else
redirect_to scheme_check_answers_path(@scheme) redirect_to scheme_check_answers_path(@scheme)
end end

1
app/helpers/schemes_helper.rb

@ -103,6 +103,7 @@ module SchemesHelper
def scheme_back_button_path(scheme, current_page) def scheme_back_button_path(scheme, current_page)
return scheme_check_answers_path(scheme) if request.params[:referrer] == "check-answers" return scheme_check_answers_path(scheme) if request.params[:referrer] == "check-answers"
return scheme_confirm_secondary_client_group_path(scheme, referrer: "check-answers") if request.params[:referrer] == "has-other-client-group"
case current_page case current_page
when "details" when "details"

7
spec/requests/schemes_controller_spec.rb

@ -2222,6 +2222,13 @@ RSpec.describe SchemesController, type: :request do
end end
end end
context "and accessed from has other client group" do
it "has correct back link" do
get "/schemes/#{scheme.id}/secondary-client-group?referrer=has-other-client-group"
expect(page).to have_link("Back", href: "/schemes/#{scheme.id}/confirm-secondary-client-group?referrer=check-answers")
end
end
context "when attempting to access secondary-client-group scheme page for another organisation" do context "when attempting to access secondary-client-group scheme page for another organisation" do
before do before do
get "/schemes/#{another_scheme.id}/secondary-client-group" get "/schemes/#{another_scheme.id}/secondary-client-group"

Loading…
Cancel
Save