Sha256: 273719a366d57b190d18d78caaca985dcb2accd8ff2e182e6af251d5c91f8a4f

Contents?: true

Size: 879 Bytes

Versions: 5

Compression:

Stored size: 879 Bytes

Contents

RSpec.describe Adminos::DomId, type: :model do

  let(:mock_class) { build_mock_class }

  before(:all) { create_table }
  after(:all) { drop_table }

  describe 'with_dom_id' do
    let!(:record) { build_mock_class.create }

    it { expect(build_mock_class).to respond_to(:with_dom_id) }
    it { expect(record).to respond_to(:dom_id) }
  end

  describe 'dom_id' do
    let!(:record) { build_mock_class.create }

    it { expect(record.dom_id).to eq "mock_table_#{record.id}" }
  end

  def build_mock_class
    @build_mock_class ||= Class.new(ActiveRecord::Base) do
      include Adminos::DomId

      with_dom_id :id

      self.table_name = 'mock_table'
      reset_column_information

      def self.name
        'MockTable'
      end
    end
  end

  def create_table
    ActiveRecord::Base.connection.create_table :mock_table do |t|
      t.text :body
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
adminos-1.0.0.pre.rc.5 spec/lib/adminos/helpers/models/dom_id_spec.rb
adminos-1.0.0.pre.rc.4 spec/lib/adminos/helpers/models/dom_id_spec.rb
adminos-1.0.0.pre.rc.3 spec/lib/adminos/helpers/models/dom_id_spec.rb
adminos-1.0.0.pre.rc.2 spec/lib/adminos/helpers/models/dom_id_spec.rb
adminos-1.0.0.pre.rc.1 spec/lib/adminos/helpers/models/dom_id_spec.rb