diff --git a/spec/requests/api/v1/event_procedures_request_spec.rb b/spec/requests/api/v1/event_procedures_request_spec.rb index 4907ce9..e45b827 100644 --- a/spec/requests/api/v1/event_procedures_request_spec.rb +++ b/spec/requests/api/v1/event_procedures_request_spec.rb @@ -554,14 +554,9 @@ let(:params) { {} } context "when user is authenticated" do - it "returns ok" do - event_procedure = create(:event_procedure, user_id: user.id) - - delete "/api/v1/event_procedures/#{event_procedure.id}", headers: headers + let(:event_procedure) { create(:event_procedure, user_id: user.id) } - expect(response.parsed_body[:message]).to eq("#{event_procedure.class} deleted successfully.") - expect(response).to have_http_status(:ok) - end + include_examples "delete request returns ok", EventProcedure context "when event_procedure cannot be destroyed" do it "returns unprocessable_content" do diff --git a/spec/requests/api/v1/hospitals_request_spec.rb b/spec/requests/api/v1/hospitals_request_spec.rb index 43c02eb..26cb57c 100644 --- a/spec/requests/api/v1/hospitals_request_spec.rb +++ b/spec/requests/api/v1/hospitals_request_spec.rb @@ -169,15 +169,8 @@ let(:http_method) { :delete } let(:params) { {} } - include_context "when user is not authenticated" - context "when user is authenticated" do - it "returns ok" do - delete path, headers: headers - - expect(response.parsed_body[:message]).to eq("#{hospital.class} deleted successfully.") - expect(response).to have_http_status(:ok) - end + include_examples "delete request returns ok", Hospital context "when hospital cannot be destroyed" do it "returns unprocessable_content" do @@ -199,5 +192,7 @@ end end end + + include_context "when user is not authenticated" end end diff --git a/spec/requests/api/v1/medical_shifts_request_spec.rb b/spec/requests/api/v1/medical_shifts_request_spec.rb index a8ab259..be92573 100644 --- a/spec/requests/api/v1/medical_shifts_request_spec.rb +++ b/spec/requests/api/v1/medical_shifts_request_spec.rb @@ -385,10 +385,7 @@ let(:params) { {} } context "when user is authenticated" do - before { delete path, headers: headers } - - it { expect(response.parsed_body[:message]).to eq("#{medical_shift.class} deleted successfully.") } - it { expect(response).to have_http_status(:ok) } + include_examples "delete request returns ok", MedicalShift context "when does not find medical_shifts" do let(:fake_id) { 9999 } diff --git a/spec/requests/api/v1/patients_request_spec.rb b/spec/requests/api/v1/patients_request_spec.rb index 89f10c3..08f3d5d 100644 --- a/spec/requests/api/v1/patients_request_spec.rb +++ b/spec/requests/api/v1/patients_request_spec.rb @@ -166,12 +166,7 @@ let(:params) { {} } context "when user is authenticated" do - it "returns ok" do - delete path, headers: headers - - expect(response.parsed_body[:message]).to eq("#{patient.class} deleted successfully.") - expect(response).to have_http_status(:ok) - end + include_examples "delete request returns ok", Patient context "when patient cannot be destroyed" do it "returns unprocessable_content" do diff --git a/spec/requests/api/v1/procedures_request_spec.rb b/spec/requests/api/v1/procedures_request_spec.rb index 44254e0..7b3e570 100644 --- a/spec/requests/api/v1/procedures_request_spec.rb +++ b/spec/requests/api/v1/procedures_request_spec.rb @@ -126,12 +126,7 @@ let(:params) { {} } context "when user is authenticated" do - it "returns ok" do - delete path, headers: headers - - expect(response.parsed_body[:message]).to eq("#{procedure.class} deleted successfully.") - expect(response).to have_http_status(:ok) - end + include_examples "delete request returns ok", Procedure context "when procedure cannot be destroyed" do it "returns unprocessable_content" do diff --git a/spec/support/shared_contexts/successful_resource_delete.rb b/spec/support/shared_contexts/successful_resource_delete.rb new file mode 100644 index 0000000..002e60d --- /dev/null +++ b/spec/support/shared_contexts/successful_resource_delete.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +RSpec.shared_examples "delete request returns ok" do |model_class| + it "returns ok" do + send(http_method, path, params: params, headers: headers) + + expect(response.parsed_body[:message]).to eq("#{model_class} deleted successfully.") + expect(response).to have_http_status(:ok) + end +end