Browse Source

Add tests

pull/2606/head
Manny Dinssa 2 years ago
parent
commit
3013cdd1ef
  1. 48
      spec/helpers/merge_requests_helper_spec.rb
  2. 39
      spec/models/merge_request_spec.rb

48
spec/helpers/merge_requests_helper_spec.rb

@ -110,4 +110,52 @@ RSpec.describe MergeRequestsHelper do
end
end
end
describe "when creating relationship outcomes content" do
let(:stock_owner1) { create(:organisation, name: "Stock owner 1") }
let(:stock_owner2) { create(:organisation, name: "Stock owner 2") }
let(:managing_agent1) { create(:organisation, name: "Managing agent 1") }
let(:managing_agent2) { create(:organisation, name: "Managing agent 2") }
let(:absorbing_organisation) { create(:organisation, name: "Absorbing Org") }
let(:merging_organisations) { create_list(:organisation, 2) { |org, i| org.name = "Dummy Org #{i + 1}" } }
let(:merge_request) { create(:merge_request, absorbing_organisation:, merging_organisations:) }
context "when there are no relationships" do
it "returns text stating there are no stock owners" do
expect(stock_owners_text(merge_request)).to eq("Absorbing Org, Dummy Org 1, and Dummy Org 2 have no stock owners.<br><br>")
end
it "returns text stating there are no managing agents" do
expect(managing_agent_text(merge_request)).to eq("Absorbing Org, Dummy Org 1, and Dummy Org 2 have no managing agents.<br><br>")
end
end
context "when there are stock owners" do
before do
create(:organisation_relationship, child_organisation: absorbing_organisation, parent_organisation: stock_owner1)
create(:organisation_relationship, child_organisation: merging_organisations.first, parent_organisation: stock_owner2)
create(:organisation_relationship, child_organisation: merging_organisations.first, parent_organisation: stock_owner1)
end
it "returns text stating the relationships" do
expect(stock_owners_text(merge_request)).to include("Some of the organisations merging have common stock owners.")
expect(stock_owners_text(merge_request)).to include("Dummy Org 2 has no stock owners.")
expect(stock_owners_text(merge_request)).to include("<a class=\"govuk-link\" target=\"_blank\" href=\"/organisations/#{merging_organisations.first.id}/stock-owners\">View all 2 Dummy Org 1 stock owners (opens in a new tab)</a>")
end
end
context "when there are managing agents" do
before do
create(:organisation_relationship, parent_organisation: absorbing_organisation, child_organisation: managing_agent1)
create(:organisation_relationship, parent_organisation: absorbing_organisation, child_organisation: managing_agent2)
create(:organisation_relationship, parent_organisation: merging_organisations.first, child_organisation: managing_agent2)
end
it "returns text stating the relationships" do
expect(managing_agent_text(merge_request)).to include("Some of the organisations merging have common managing agents.")
expect(managing_agent_text(merge_request)).to include("Dummy Org 2 has no managing agents.")
expect(managing_agent_text(merge_request)).to include("<a class=\"govuk-link\" target=\"_blank\" href=\"/organisations/#{merging_organisations.first.id}/managing-agents\">View the 1 Dummy Org 1 managing agent (opens in a new tab)</a>")
end
end
end
end

39
spec/models/merge_request_spec.rb

@ -397,4 +397,43 @@ RSpec.describe MergeRequest, type: :model do
end
end
end
describe "relationship outcomes" do
let(:stock_owner1) { create(:organisation, name: "Stock owner 1") }
let(:stock_owner2) { create(:organisation, name: "Stock owner 2") }
let(:stock_owner3) { create(:organisation, name: "Stock owner 3") }
let(:managing_agent1) { create(:organisation, name: "Managing agent 1") }
let(:managing_agent2) { create(:organisation, name: "Managing agent 2") }
let(:absorbing_organisation) { create(:organisation, name: "Absorbing Org") }
let(:merging_organisations) { create_list(:organisation, 2) { |org, i| org.name = "Dummy Org #{i + 1}" } }
let(:merge_request) { create(:merge_request, absorbing_organisation:, merging_organisations:) }
before do
create(:organisation_relationship, child_organisation: absorbing_organisation, parent_organisation: stock_owner1)
create(:organisation_relationship, child_organisation: merging_organisations.first, parent_organisation: stock_owner2)
create(:organisation_relationship, child_organisation: merging_organisations.first, parent_organisation: stock_owner1)
create(:organisation_relationship, child_organisation: merging_organisations.first, parent_organisation: stock_owner3)
create(:organisation_relationship, parent_organisation: absorbing_organisation, child_organisation: managing_agent1)
create(:organisation_relationship, parent_organisation: absorbing_organisation, child_organisation: managing_agent2)
create(:organisation_relationship, parent_organisation: merging_organisations.first, child_organisation: managing_agent2)
end
describe "#total_stock_owners_after_merge" do
it "returns the correct count of stock owners after merge" do
expect(merge_request.total_stock_owners_after_merge).to eq(2)
end
end
describe "#total_managing_agents_after_merge"do
it "returns the correct count of managing agents after merge" do
expect(merge_request.total_managing_agents_after_merge).to eq(1)
end
end
describe "#total_stock_owners_managing_agents_label" do
it "returns the correct label" do
expect(merge_request.total_stock_owners_managing_agents_label).to eq("2 stock owners\n1 managing agent")
end
end
end
end

Loading…
Cancel
Save