From 74386fc08bcc4f6af5dafd13836df2d746f89a51 Mon Sep 17 00:00:00 2001 From: Kat Date: Mon, 17 Apr 2023 09:29:20 +0100 Subject: [PATCH] fix remove organisation --- app/controllers/merge_requests_controller.rb | 2 +- app/views/merge_requests/organisations.html.erb | 2 +- spec/requests/merge_requests_controller_spec.rb | 13 ++++++++++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/controllers/merge_requests_controller.rb b/app/controllers/merge_requests_controller.rb index 49f2585c5..64953c961 100644 --- a/app/controllers/merge_requests_controller.rb +++ b/app/controllers/merge_requests_controller.rb @@ -36,7 +36,7 @@ class MergeRequestsController < ApplicationController end def remove_merging_organisation - MergeRequestOrganisation.find_by(merge_request_organisation_params).destroy! + MergeRequestOrganisation.find_by(merge_request_organisation_params)&.destroy! @merge_request.reload @answer_options = organisations_answer_options @merging_organisations_list = [@merge_request.requesting_organisation] + @merge_request.merging_organisations diff --git a/app/views/merge_requests/organisations.html.erb b/app/views/merge_requests/organisations.html.erb index c5f15136e..f306fc4de 100644 --- a/app/views/merge_requests/organisations.html.erb +++ b/app/views/merge_requests/organisations.html.erb @@ -38,7 +38,7 @@ scope: "row", class: "govuk-!-text-align-right", }) do %> - <%= govuk_link_to("Remove", merge_request_organisations_path) %> + <%= govuk_link_to("Remove", merge_request_organisations_remove_path(merge_request: { merging_organisation: merging_organisation.id })) %> <% end %> <% end %> <% end %> diff --git a/spec/requests/merge_requests_controller_spec.rb b/spec/requests/merge_requests_controller_spec.rb index 608356a24..cafb2df68 100644 --- a/spec/requests/merge_requests_controller_spec.rb +++ b/spec/requests/merge_requests_controller_spec.rb @@ -140,7 +140,7 @@ RSpec.describe MergeRequestsController, type: :request do describe "#remove_organisation" do let(:params) { { merge_request: { merging_organisation: other_organisation.id } } } - context "when removing an organisation from merge request " do + context "when removing an organisation from merge request" do before do MergeRequestOrganisation.create!(merge_request_id: merge_request.id, merging_organisation_id: other_organisation.id) get "/merge-request/#{merge_request.id}/organisations/remove", headers:, params: @@ -151,6 +151,17 @@ RSpec.describe MergeRequestsController, type: :request do expect(page).not_to have_link("Remove") end end + + context "when removing an organisation that is not part of a merge from merge request" do + before do + get "/merge-request/#{merge_request.id}/organisations/remove", headers:, params: + end + + it "does not throw an error" do + expect(merge_request.merging_organisations.count).to eq(0) + expect(page).not_to have_link("Remove") + end + end end describe "#other_merging_organisations" do