From 1a9e7ed808dc8988a1ad55a5c2660f7281fd24e2 Mon Sep 17 00:00:00 2001 From: Samuel Date: Fri, 16 May 2025 17:10:45 +0100 Subject: [PATCH] Update tests to check more cases of organisation import --- ...anisations_group_profit_status_invalid.csv | 4 +-- ...rganisations_group_profit_status_valid.csv | 6 ++-- ..._organisations_group_profit_status_spec.rb | 31 ++++++++++++++++--- 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/spec/fixtures/files/organisations_group_profit_status_invalid.csv b/spec/fixtures/files/organisations_group_profit_status_invalid.csv index 648f9ecde..679cb506d 100644 --- a/spec/fixtures/files/organisations_group_profit_status_invalid.csv +++ b/spec/fixtures/files/organisations_group_profit_status_invalid.csv @@ -1,2 +1,2 @@ -id,profit_status,group -2000,2,4 +id,provider_type,profit_status,group +2000,Profit,4 diff --git a/spec/fixtures/files/organisations_group_profit_status_valid.csv b/spec/fixtures/files/organisations_group_profit_status_valid.csv index c8a977db0..35f57678c 100644 --- a/spec/fixtures/files/organisations_group_profit_status_valid.csv +++ b/spec/fixtures/files/organisations_group_profit_status_valid.csv @@ -1,2 +1,4 @@ -id,profit_status,group -234,3,2 +id,provider_type,profit_status,group +234,LA,Local authority,2 +750,PRP,Non-profit,2 +642,PRP,Profit, diff --git a/spec/lib/tasks/update_organisations_group_profit_status_spec.rb b/spec/lib/tasks/update_organisations_group_profit_status_spec.rb index c2ab4a93a..674ac1b4d 100644 --- a/spec/lib/tasks/update_organisations_group_profit_status_spec.rb +++ b/spec/lib/tasks/update_organisations_group_profit_status_spec.rb @@ -11,14 +11,37 @@ RSpec.describe "data_update:update_organisations", type: :task do end context "when the CSV file is valid" do - let!(:organisation) { create(:organisation, id: 234) } + let!(:organisation_la) { create(:organisation, id: 234, provider_type: "LA") } + let!(:organisation_prp_non_profit) { create(:organisation, id: 750, provider_type: "PRP") } + let!(:organisation_prp_profit) { create(:organisation, id: 642, provider_type: "PRP") } let(:csv_path) { Rails.root.join("spec/fixtures/files/organisations_group_profit_status_valid.csv") } - it "updates the organisation fields" do + it "updates an organisation profit status field" do expect { task.invoke(csv_path.to_s) - }.to change { organisation.reload.profit_status }.to("local_authority") - .and change { organisation.reload.group }.to(2) + } + .to change { organisation_la.reload.profit_status }.to("local_authority") + .and change { organisation_prp_non_profit.reload.profit_status }.to("non_profit") + .and change { organisation_prp_profit.reload.profit_status }.to("profit") + end + + it "updates an organisation group fields" do + task.invoke(csv_path.to_s) + organisation_la.reload + organisation_prp_non_profit.reload + organisation_prp_profit.reload + + expect(organisation_la.group).to eq(2) + expect(organisation_la.group_member).to be_truthy + expect(organisation_la.group_member_id).to eq(organisation_la.id) + + expect(organisation_prp_non_profit.group).to eq(2) + expect(organisation_prp_non_profit.group_member).to be_truthy + expect(organisation_prp_non_profit.group_member_id).to eq(organisation_prp_non_profit.id) + + expect(organisation_prp_profit.group).to be_nil + expect(organisation_prp_profit.group_member).to be_falsy + expect(organisation_prp_profit.group_member_id).to be_nil end end