diff --git a/app/controllers/schemes_controller.rb b/app/controllers/schemes_controller.rb index e3492a6c7..c10784c2d 100644 --- a/app/controllers/schemes_controller.rb +++ b/app/controllers/schemes_controller.rb @@ -18,7 +18,7 @@ class SchemesController < ApplicationController def show @scheme = Scheme.find_by(id: params[:id]) - render_not_found_json("Scheme", params[:id]) unless @scheme + render_not_found and return unless @scheme end def new @@ -43,7 +43,13 @@ class SchemesController < ApplicationController end end + def edit + render_not_found and return unless @scheme + end + def update + render_not_found and return unless @scheme + check_answers = params[:scheme][:check_answers] page = params[:scheme][:page] @@ -65,34 +71,50 @@ class SchemesController < ApplicationController end def primary_client_group + render_not_found and return unless @scheme + render "schemes/primary_client_group" end def confirm_secondary_client_group + render_not_found and return unless @scheme + render "schemes/confirm_secondary" end def secondary_client_group + render_not_found and return unless @scheme + render "schemes/secondary_client_group" end def support + render_not_found and return unless @scheme + render "schemes/support" end def details + render_not_found and return unless @scheme + render "schemes/details" end def check_answers + render_not_found and return unless @scheme + render "schemes/check_answers" end def edit_name + render_not_found and return unless @scheme + render "schemes/edit_name" end def support_services_provider + render_not_found and return unless @scheme + render "schemes/support_services_provider" end diff --git a/spec/requests/schemes_controller_spec.rb b/spec/requests/schemes_controller_spec.rb index dacb2e5eb..ce6805f35 100644 --- a/spec/requests/schemes_controller_spec.rb +++ b/spec/requests/schemes_controller_spec.rb @@ -871,6 +871,15 @@ RSpec.describe SchemesController, type: :request do expect(scheme_to_update.reload.sensitive).to eq("Yes") end end + + context "when the requested scheme does not exist" do + let(:scheme_to_update) { OpenStruct.new(id: Scheme.maximum(:id) + 1) } + let(:params) { {} } + + it "returns not found" do + expect(response).to have_http_status(:not_found) + end + end end context "when signed in as a support" do