Sha256: 898df5b79fe1c0869cbe2cf37176b0eb95b9e2ed67157f837b44cd4d3ea4adc4

Contents?: true

Size: 898 Bytes

Versions: 2

Compression:

Stored size: 898 Bytes

Contents

require "rubygems"
require "sequel"
require "contest"
require File.dirname(__FILE__) + "/../lib/spawn"
require "faker"

DB = Sequel.sqlite
DB << "CREATE TABLE sequel_users (name VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL)"

class SequelUser < Sequel::Model
  extend Spawn

  def validate
    errors.add(:name, "Not present") if name.nil? or name.empty?
  end

  spawner do |user|
    user.name = Faker::Name.name
    user.email = Faker::Internet.email
  end
end

class TestSpawnWithSequel < Test::Unit::TestCase
  setup do
    @user = SequelUser.spawn :name => "John"
  end

  context "spawned user" do
    should "have John as name" do
      assert_equal "John", @user.name
    end

    context "with invalid attributes" do
      should "raise an error" do
        assert_raise Sequel::Error::InvalidValue do
          SequelUser.spawn :name => nil
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
soveran-spawn-0.1.2 test/sequel_test.rb
spawn-0.1.2 test/sequel_test.rb