Sha256: 9c1659e3278b52147dfe662b6d01c8a4e0dcf9d492ee8bb6281e914a91b77a94

Contents?: true

Size: 1.64 KB

Versions: 6

Compression:

Stored size: 1.64 KB

Contents

require 'rails_helper'

module Anoubis
  RSpec.describe Tenant, type: :model do
    it "is valid" do
      expect(build_stubbed(:tenant)).to be_valid
    end

    it "has short title" do
      expect(build_stubbed(:tenant, title: 'T'*2)).to be_invalid
    end

    it "has long title" do
      expect(build_stubbed(:tenant, title: 'T'*101)).to be_invalid
    end

    it "has short ident" do
      expect(build_stubbed(:tenant, ident: 'T'*2)).to be_invalid
    end

    it "has long ident" do
      expect(build_stubbed(:tenant, ident: 'T'*11)).to be_invalid
    end

    it "has invalid ident" do
      expect(build_stubbed(:tenant, ident: '1'*5)).to be_invalid
    end

    it "has duplicated title" do
      create :tenant
      expect(build_stubbed(:tenant, ident: 'T'*5)).to be_invalid
    end

    it "has duplicated ident" do
      create :tenant
      expect(build_stubbed(:tenant, title: 'T'*10)).to be_invalid
    end

    it "can change tenant" do
      tenant = create :tenant
      tenant.title = 'Work Tenant Test'
      tenant.ident = 'wrkt'
      expect(tenant.save).to eq true
    end

    it "can't change system tenant ident" do
      tenant = Anoubis::Tenant.find(1)
      tenant.ident = 'tst'
      expect(tenant.save).to eq false
    end

    it "can destroy" do
      tenant = create :tenant, title: 'Destroy', ident: 'dst'
      Anoubis::TenantSystem.where(tenant_id: tenant.id).each do |item|
        item.destroy
      end
      tenant.destroy
      expect(tenant.destroyed?).to eq true
    end

    it "can't destroy system tenant" do
      tenant = Anoubis::Tenant.find(1)
      tenant.destroy
      expect(tenant.destroyed?).to eq false
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
anoubis-1.0.12 spec/models/anoubis/tenant_spec.rb
anoubis-1.0.11 spec/models/anoubis/tenant_spec.rb
anoubis-1.0.10 spec/models/anoubis/tenant_spec.rb
anoubis-1.0.8 spec/models/anoubis/tenant_spec.rb
anoubis-1.0.7 spec/models/anoubis/tenant_spec.rb
anoubis-1.0.1 spec/models/anoubis/tenant_spec.rb