Sha256: 4e23d536f02195f5325d0dc687ce2e5407147942f9a46a186fb0805f477d53bc

Contents?: true

Size: 1.34 KB

Versions: 1

Compression:

Stored size: 1.34 KB

Contents

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

describe "Model" do

  before :each do
    @values, @options  = [], {}
    @value_hash = {
      :name    => "some_name",
      :email   => "some_email",
      :age     => 20,
      :active  => true,
      :checked => true
    }
    User.delete_all
  end

  context "when is used without options" do
    it "should save 5 record into users table" do
      5.times{ @values << @value_hash }
      User.mass_insert(@values, @options)
      User.count.should eq(5)
    end

    it "should save if values cointains 1500 records" do
      1500.times{ @values << @value_hash }
      User.mass_insert(@values, @options)
      User.count.should eq(1500)
    end
  end

  context "when is used with options" do
    context "when the table name doesn't exit" do
      it "should not save any record" do
        5.times{ @values << @value_hash }
        @options.merge!(:table_name => "countries")
        lambda{ User.mass_insert(@values, @options) }.should raise_exception
      end
    end

    context "when the class name not inherit from ActiveRecord" do
      it "should not save any record" do
        5.times{ @values << @value_hash }
        @options.merge!(:class_name => Test)
        lambda{ User.mass_insert(@values, @options) }.should raise_exception
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mass_insert-0.0.1 spec/active_record_models/model_spec.rb