Browse Source

testing details and returning from check answers page

pull/671/head
JG 3 years ago
parent
commit
3d1af6f080
  1. 6
      app/controllers/schemes_controller.rb
  2. 43
      spec/requests/schemes_controller_spec.rb

6
app/controllers/schemes_controller.rb

@ -52,7 +52,7 @@ class SchemesController < ApplicationController
redirect_to scheme_check_answers_path(@scheme)
end
else
redirect_to derive_next_path params[:scheme][:page]
redirect_to next_page_path params[:scheme][:page]
end
else
render request.current_url, status: :unprocessable_entity
@ -87,8 +87,8 @@ class SchemesController < ApplicationController
private
def derive_next_path page
case page
def next_page_path page
case page
when "primary-client-group"
scheme_confirm_secondary_client_group_path(@scheme)
when "confirm-secondary"

43
spec/requests/schemes_controller_spec.rb

@ -782,6 +782,49 @@ RSpec.describe SchemesController, type: :request do
end
end
end
context "when updating details" do
let(:params) { { scheme: { service_name: "testy", sensitive: "1", scheme_type: "Foyer", registered_under_care_act: "No", total_units: "1", page: "details" } } }
before do
sign_in user
patch "/schemes/#{scheme_to_update.id}", params:
end
it "renders confirm secondary group after successful update" do
follow_redirect!
expect(response).to have_http_status(:ok)
expect(page).to have_content("What client group is this scheme intended for?")
end
it "updates a scheme with valid params" do
follow_redirect!
expect(scheme_to_update.reload.service_name).to eq("testy")
expect(scheme_to_update.reload.scheme_type).to eq("Foyer")
expect(scheme_to_update.reload.sensitive).to eq("Yes")
expect(scheme_to_update.reload.registered_under_care_act).to eq("No")
expect(scheme_to_update.reload.total_units).to eq(1)
end
context "when updating from check answers page" do
let(:params) { { scheme: { service_name: "testy", sensitive: "1", scheme_type: "Foyer", registered_under_care_act: "No", total_units: "1", page: "details", check_answers: "true" } } }
it "renders check answers page after successful update" do
follow_redirect!
expect(response).to have_http_status(:ok)
expect(page).to have_content("Check your changes before updating this scheme")
end
it "updates a scheme with valid params" do
follow_redirect!
expect(scheme_to_update.reload.service_name).to eq("testy")
expect(scheme_to_update.reload.scheme_type).to eq("Foyer")
expect(scheme_to_update.reload.sensitive).to eq("Yes")
expect(scheme_to_update.reload.registered_under_care_act).to eq("No")
expect(scheme_to_update.reload.total_units).to eq(1)
end
end
end
end
end
end

Loading…
Cancel
Save