Sha256: a3bc3716cdf7badf8f080b8e16166b9b1944a8b73934b78481704c00cdc564b4

Contents?: true

Size: 892 Bytes

Versions: 5

Compression:

Stored size: 892 Bytes

Contents

require 'spec_helper'
require 'rails_helper'

RSpec.describe StaticRecord::HasStaticRecord, :type => :module do
  it 'adds a setter to ActiveRecord' do
    t = Test.new(name: 'Test')
    t.article = Article.find('Article One')
    expect(t.article_static_record_type).to eql('ArticleOne')
  end

  it 'adds a getter to ActiveRecord' do
    article = Article.find('Article One')
    Test.create(name: 'Test', article: article)
    t = Test.last
    expect(t.article.name).to eql(article.name)
  end

  it 'must assign correct instance' do
    expect { Test.new.article = Article.last }.not_to raise_error
    expect { Test.new.article = Role.last }.to raise_error(StaticRecord::ClassError)
  end

  it 'cannot add getter to ActiveRecord if no primary key is set' do
    Test.has_static_record :role
    expect { Test.new.role = Role.last }.to raise_error(StaticRecord::NoPrimaryKey)
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
static-record-1.2.1 spec/test_app/spec/has_static_record_spec.rb
static-record-1.2.0 spec/test_app/spec/has_static_record_spec.rb
static-record-1.1.0 spec/test_app/spec/has_static_record_spec.rb
static-record-1.0.1 spec/test_app/spec/has_static_record_spec.rb
static-record-1.0.0 spec/test_app/spec/has_static_record_spec.rb