Sha256: 9f9b5a3a6fe7c3bb05b453ee03b3925b2ffd5a90c49fbd73d152e5e68edbc48e

Contents?: true

Size: 1.23 KB

Versions: 1

Compression:

Stored size: 1.23 KB

Contents

require 'rails_helper'

module Anubis
  RSpec.describe System, type: :model do
    it "is valid" do
      expect(build_stubbed(:system)).to be_valid
    end

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

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

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

    it "has duplicated ident" do
      create :system
      expect(build_stubbed(:system)).to be_invalid
    end

    it "can change system" do
      system = create :system
      system.ident = 'wrkt'
      expect(system.save).to eq true
    end

    it "can't change main system ident" do
      system = Anubis::System.find(1)
      system.ident = 'tst'
      expect(system.save).to eq false
    end

    it "can destroy" do
      system = create :system, ident: 'dst'
      Anubis::Group.where(system_id: system.id).each do |item|
        item.destroy
      end
      system.destroy
      expect(system.destroyed?).to eq true
    end

    it "can't destroy main system" do
      system = Anubis::System.find(1)
      system.destroy
      expect(system.destroyed?).to eq false
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
anoubis-1.0.0 spec/models/anoubis/system_spec.rb