Sha256: 7cb03cf1f3fb9e937d8443f3e246646516206bc5eb094d942d8a45a7103aa614

Contents?: true

Size: 1.36 KB

Versions: 3

Compression:

Stored size: 1.36 KB

Contents

require './spec/spec_helper'
require "./lib/mass_insert"

describe "Boolean" do

  before :each do
    @values, @options  = [{:active => true}], {}
  end

  context "when exist in values hashes" do
    context "when contains boolean value" do
      context "when is true" do
        it "should be saved correctly" do
          User.mass_insert(@values, @options)
          User.last.active.should eq(true)
        end
      end

      context "when is false" do
        it "should be saved correctly" do
          @values.first.merge!(:active => false)
          User.mass_insert(@values, @options)
          User.last.active.should eq(false)
        end
      end
    end

    context "when contains a string" do
      it "should convert string value to boolean" do
        @values.first.merge!(:active => "string")
        User.mass_insert(@values, @options)
        User.last.active.should eq(true)
      end
    end

    context "when contains a decimal" do
      it "should convert decimal value to boolean" do
        @values.first.merge!(:active => 25.34)
        User.mass_insert(@values, @options)
        User.last.active.should eq(true)
      end
    end
  end

  context "when not exist in values hashes" do
    it "should save the default value" do
      @values.first.delete(:active)
      User.mass_insert(@values, @options)
      User.last.active.should eq(nil)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
mass_insert-0.0.3 spec/active_record_models/column_types/boolean_spec.rb
mass_insert-0.0.2 spec/active_record_models/column_types/boolean_spec.rb
mass_insert-0.0.1 spec/active_record_models/column_types/boolean_spec.rb