Sha256: 566c3a397a23137d666791bb88a4d280610a53c7a6702d719e80589981ec0dee

Contents?: true

Size: 1.99 KB

Versions: 10

Compression:

Stored size: 1.99 KB

Contents

require 'spec_helper'

require 'fedux_org/stdlib/models'

describe Models::BaseModel do

  before(:each) {
    Models::BaseModel.clear
  }

  it "is possible to register a message" do
    m1 = Models::BaseModel.new('name')
    Models::BaseModel.register m1
  end

  it "is possible to find an object" do
    m1 = Models::BaseModel.new('name')
    Models::BaseModel.register m1

    m_found = Models::BaseModel.find('name')

    expect(m1).to eq(m_found)
  end

  it "returns a string of all active instances" do
    Models::BaseModel.create(:name1)
    Models::BaseModel.create(:name2)
    Models::BaseModel.enable :name1
    Models::BaseModel.enable :name2

    result = Models::BaseModel.all_names_as_string(", ")
    expect(result).to eq("name1, name2")

    result = Models::BaseModel.all_names_as_string(": ")
    expect(result).to eq("name1: name2")

    result = Models::BaseModel.all_names_as_string
    expect(result).to eq("name1, name2")
  end

  it "is possible to create and register in one step" do
    m1 = Models::BaseModel.create('name')
    m_found = Models::BaseModel.find('name')

    expect(m1).to eq(m_found)
  end

  it "is possible to delete an object" do
    m1 = Models::BaseModel.create('name')
    m2 = Models::BaseModel.delete('name')

    expect(m1).to eq(m2)
  end

  it "is possible to delete all objects" do
    Models::BaseModel.create('name1')
    Models::BaseModel.create('name2')
    Models::BaseModel.create('name3')

    Models::BaseModel.clear
    expect(Models::BaseModel.all).to eq( [] )
  end

  it "return first object" do
    expected_result = Models::BaseModel.create('name1')
    Models::BaseModel.create('name2')
    Models::BaseModel.create('name3')

    result = Models::BaseModel.first
    expect(result).to eq( expected_result )
  end

  it "return last object" do
    Models::BaseModel.create('name1')
    Models::BaseModel.create('name2')
    expected_result = Models::BaseModel.create('name3')

    result = Models::BaseModel.last
    expect(result).to eq( expected_result )
  end

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
fedux_org-stdlib-0.0.19 spec/models/base_model_spec.rb
fedux_org-stdlib-0.0.17 spec/models/base_model_spec.rb
fedux_org-stdlib-0.0.16 spec/models/base_model_spec.rb
fedux_org-stdlib-0.0.14 spec/models/base_model_spec.rb
fedux_org-stdlib-0.0.13 spec/models/base_model_spec.rb
fedux_org-stdlib-0.0.12 spec/models/base_model_spec.rb
fedux_org-stdlib-0.0.11 spec/models/base_model_spec.rb
fedux_org-stdlib-0.0.10 spec/models/base_model_spec.rb
fedux_org-stdlib-0.0.9 spec/models/base_model_spec.rb
fedux_org-stdlib-0.0.8 spec/models/base_model_spec.rb