Sha256: a31587e2951fa9d673b594a61c9d336458e84066ee68ce021eb7ca5f144e0e9b
Contents?: true
Size: 1.89 KB
Versions: 1
Compression:
Stored size: 1.89 KB
Contents
# frozen_string_literal: true describe PUNK::TenantUserMetadata do it "is valid with valid attributes" do expect { create(:tenant_user_metadata) }.not_to raise_error end it "is invalid without a tenant" do tenant_user_metadata = build(:tenant_user_metadata, tenant: nil) expect(tenant_user_metadata.valid?).to be(false) expect(tenant_user_metadata.errors[:tenant].first).to eq("is not present") end it "is invalid without a user" do tenant_user_metadata = build(:tenant_user_metadata, user: nil) expect(tenant_user_metadata.valid?).to be(false) expect(tenant_user_metadata.errors[:user].first).to eq("is not present") end it "displays as the two IDs concatenated" do tenant_user_metadata = create(:tenant_user_metadata) expect(tenant_user_metadata.to_s).to include(tenant_user_metadata.tenant.id) expect(tenant_user_metadata.to_s).to include(tenant_user_metadata.user.id) end context "when a user and a tenant exist" do let(:user) { create(:user) } let(:tenant) { create(:tenant) } context "when a user is added to a tenant" do let(:tenant_user_metadata) do described_class[tenant: tenant, user: user] end before do tenant.add_user(user) end it "is created automatically" do expect(tenant_user_metadata).not_to be_nil expect(tenant.users).to include(user) end it "destroying it will remove the user from the tenant" do expect(tenant.users).to include(user) tenant_user_metadata.destroy tenant.reload expect(tenant.users).not_to include(user) end end context "when it is created" do it "adds a user to a tenant" do expect(tenant.users).not_to include(user) create(:tenant_user_metadata, tenant: tenant, user: user) tenant.reload expect(tenant.users).to include(user) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
punk-0.4.1 | spec/models/punk/tenant_user_metadata_spec.rb |