From 3228e87e78c4026c15eb61f32772b712e501713f Mon Sep 17 00:00:00 2001 From: kosiakkatrina <54268893+kosiakkatrina@users.noreply.github.com> Date: Mon, 2 Sep 2024 15:31:35 +0100 Subject: [PATCH] Return correct status when existing_absorbing_organisation is false (#2617) --- app/models/merge_request.rb | 2 +- spec/models/merge_request_spec.rb | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 806d77bf8..15e7e5fb9 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -47,7 +47,7 @@ class MergeRequest < ApplicationRecord def required_questions_answered? absorbing_organisation_id.present? && merge_date.present? && - existing_absorbing_organisation.present? && + !existing_absorbing_organisation.nil? && merging_organisations.count.positive? && errors.empty? end diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb index 4cab8b661..c6ae67500 100644 --- a/spec/models/merge_request_spec.rb +++ b/spec/models/merge_request_spec.rb @@ -60,6 +60,12 @@ RSpec.describe MergeRequest, type: :model do expect(merge_request.status).to eq MergeRequest::STATUS[:ready_to_merge] end + it "returns the correct status for a ready to merge request when existing_absorbing_organisation is false" do + merge_request = build(:merge_request, id: 1, absorbing_organisation: create(:organisation), merge_date: Time.zone.today, existing_absorbing_organisation: false) + create(:merge_request_organisation, merge_request:) + expect(merge_request.status).to eq MergeRequest::STATUS[:ready_to_merge] + end + it "returns the merge issues if dsa is not signed for absorbing organisation" do merge_request = build(:merge_request, id: 1, absorbing_organisation: create(:organisation, with_dsa: false), merge_date: Time.zone.today, existing_absorbing_organisation: true) create(:merge_request_organisation, merge_request:)