Browse Source

Update tests to check more cases of organisation import

CLDC-3857-Add-new-questions-to-organisation-setup
Samuel 3 days ago
parent
commit
1a9e7ed808
  1. 4
      spec/fixtures/files/organisations_group_profit_status_invalid.csv
  2. 6
      spec/fixtures/files/organisations_group_profit_status_valid.csv
  3. 31
      spec/lib/tasks/update_organisations_group_profit_status_spec.rb

4
spec/fixtures/files/organisations_group_profit_status_invalid.csv vendored

@ -1,2 +1,2 @@
id,profit_status,group
2000,2,4
id,provider_type,profit_status,group
2000,Profit,4

1 id id,provider_type,profit_status,group profit_status group
2 2000 2000,Profit,4 2 4

6
spec/fixtures/files/organisations_group_profit_status_valid.csv vendored

@ -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,

1 id provider_type profit_status group
2 234 LA 3 Local authority 2
3 750 PRP Non-profit 2
4 642 PRP Profit

31
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

Loading…
Cancel
Save