Sha256: 3dbb12da604524e418909775b49c476e3222a9475b0f285dadef3f606128e93f

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
        model_attributes.get_attribute_type("Post", "title").should == "string"
        model_attributes.get_attribute_type("Post", "body").should == "text"
        model_attributes.get_attribute_type("Post", "created_at").should == "datetime"
        model_attributes.get_attribute_type("Post", "user_id").should == "integer"
        model_attributes.get_attribute_type("Post", "comments_count").should == "integer"
        model_attributes.get_attribute_type("Post", "published").should == "boolean"
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

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