Sha256: 21d64203a2a32a2f66b4a5ade6e694b5dd3e8042bfc3a7fccec218ca2fcf5f9d

Contents?: true

Size: 1.04 KB

Versions: 4

Compression:

Stored size: 1.04 KB

Contents

require 'spec_helper'

describe "ActiveRecord::Base models" do
  ActiveRecord::Base.descendants.map(&:to_s).reject() { |m| %w(ActiveAdmin::Comment AdminUser).include?(m) }.each do |model_name|
    model = model_name.constantize
    describe model do
      it "should be an ActiveRecord::Base" do
        ActiveRecord::Base.descendants.should include(model)
      end

      it "should be instanciable" do
        instance = model.new
        instance.should be_a model
      end

      it "should be valid with correct attribute values" do
        instance = FactoryGirl.create(model.to_s.tableize.singularize.underscore.gsub( '/', '_'))
        instance.should be_valid
      end

      it "should not be valid with empty attributes" do
        instance = model.new
        instance.should_not be_valid
      end

      it "should save with valid attributes" do
        instance = FactoryGirl.create(model.to_s.tableize.singularize.underscore.gsub( '/', '_'))
        instance.save.should be_true
        instance.should be_persisted
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ecm_sliders2-0.0.4 spec/models/generic_spec.rb
ecm_sliders2-0.0.3 spec/models/generic_spec.rb
ecm_sliders2-0.0.2 spec/models/generic_spec.rb
ecm_sliders2-0.0.1 spec/models/generic_spec.rb