Browse Source

Add ability to remove merging orgs from the list

pull/1535/head
Kat 3 years ago
parent
commit
af8c5e73d1
  1. 10
      app/controllers/merge_requests_controller.rb
  2. 1
      config/routes.rb
  3. 16
      spec/requests/merge_requests_controller_spec.rb

10
app/controllers/merge_requests_controller.rb

@ -1,6 +1,6 @@
class MergeRequestsController < ApplicationController
before_action :authenticate_user!
before_action :find_resource, only: %i[organisations update_organisations]
before_action :find_resource, only: %i[organisations update_organisations remove_merging_organsiation]
def create
@merge_request = MergeRequest.create!(merge_request_params)
@ -26,6 +26,14 @@ class MergeRequestsController < ApplicationController
end
end
def remove_merging_organsiation
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
render :organisations
end
private
def organisations_answer_options

1
config/routes.rb

@ -127,6 +127,7 @@ Rails.application.routes.draw do
post "merge-request", to: "merge_request#create_merge_request"
get "organisations", to: "merge_requests#organisations"
patch "organisations", to: "merge_requests#update_organisations"
get "organisations/remove", to: "merge_requests#remove_merging_organsiation"
end
resources :lettings_logs, path: "/lettings-logs" do

16
spec/requests/merge_requests_controller_spec.rb

@ -93,5 +93,21 @@ RSpec.describe MergeRequestsController, type: :request do
end
end
end
describe "#remove_organisation" do
let(:params) { { merge_request: {merging_organisation: other_organisation.id } }}
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:
end
it "updates the merge request" do
expect(merge_request.merging_organisations.count).to eq(0)
expect(page).not_to have_link("Remove")
end
end
end
end
end

Loading…
Cancel
Save