Sha256: 59b2931469a3d9c81ffbb2d9fd44548188f693bcc9706b0bd7c487448e329068

Contents?: true

Size: 1.33 KB

Versions: 1

Compression:

Stored size: 1.33 KB

Contents

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

1 entries across 1 versions & 1 rubygems

Version Path
rails_best_practices-1.19.1 spec/rails_best_practices/prepares/schema_prepare_spec.rb