Sha256: 46af6e22f0fd9af6377d15264dd9ece9fd30930af34f23af7962d7a54a268169

Contents?: true

Size: 1.37 KB

Versions: 5

Compression:

Stored size: 1.37 KB

Contents

# frozen_string_literal: true

require 'spec_helper'

module RailsBestPractices
  module Prepares
    describe SchemaPrepare do
      let(:runner) { Core::Runner.new(prepares: SchemaPrepare.new) }

      it 'should parse model attributes' do
        content = <<-EOF
        ActiveRecord::Schema.define(version: 20110319172136) do
          create_table "posts", force: true do |t|
            t.string   "title"
            t.text     "body",           limit: 16777215
            t.datetime "created_at"
            t.integer  "user_id"
            t.integer  "comments_count",                     default: 0
            t.boolean  "published",                          default: false, null: false
          end
        end
        EOF
        runner.prepare('db/schema.rb', content)
        model_attributes = Prepares.model_attributes
        expect(model_attributes.get_attribute_type('Post', 'title')).to eq('string')
        expect(model_attributes.get_attribute_type('Post', 'body')).to eq('text')
        expect(model_attributes.get_attribute_type('Post', 'created_at')).to eq('datetime')
        expect(model_attributes.get_attribute_type('Post', 'user_id')).to eq('integer')
        expect(model_attributes.get_attribute_type('Post', 'comments_count')).to eq('integer')
        expect(model_attributes.get_attribute_type('Post', 'published')).to eq('boolean')
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rails_best_practices-1.20.0 spec/rails_best_practices/prepares/schema_prepare_spec.rb
rails_best_practices-1.19.5 spec/rails_best_practices/prepares/schema_prepare_spec.rb
rails_best_practices-1.19.4 spec/rails_best_practices/prepares/schema_prepare_spec.rb
rails_best_practices-1.19.3 spec/rails_best_practices/prepares/schema_prepare_spec.rb
rails_best_practices-1.19.2 spec/rails_best_practices/prepares/schema_prepare_spec.rb