require "rails_helper" require_relative "../request_helper" RSpec.describe User, type: :model do before do RequestHelper.stub_http_requests end describe "#new" do let(:user) { FactoryBot.create(:user) } let(:other_organisation) { FactoryBot.create(:organisation) } let!(:owned_case_log) do FactoryBot.create( :case_log, :completed, owning_organisation: user.organisation, managing_organisation: other_organisation, ) end let!(:managed_case_log) do FactoryBot.create( :case_log, owning_organisation: other_organisation, managing_organisation: user.organisation, ) end it "belongs to an organisation" do expect(user.organisation).to be_a(Organisation) end it "has owned case logs through their organisation" do expect(user.owned_case_logs.first).to eq(owned_case_log) end it "has managed case logs through their organisation" do expect(user.managed_case_logs.first).to eq(managed_case_log) end it "has case logs through their organisation" do expect(user.case_logs.to_a).to eq([owned_case_log, managed_case_log]) end it "has case log status helper methods" do expect(user.completed_case_logs.to_a).to eq([owned_case_log]) expect(user.not_completed_case_logs.to_a).to eq([managed_case_log]) end it "has a role" do expect(user.role).to eq("data_provider") expect(user.data_provider?).to be true expect(user.data_coordinator?).to be false end end end