Sha256: 9930aae3243531e7b807fa2b2c4b40f1dd887f2bdc641eeef7cc034550906112

Contents?: true

Size: 1.99 KB

Versions: 1

Compression:

Stored size: 1.99 KB

Contents

require File.join(File.dirname(__FILE__),'..','helper')
require File.join(File.dirname(__FILE__),'..','model','user')
require File.join(File.dirname(__FILE__),'..','model','account')

class BaseTest < Test::Unit::TestCase
	def setup
		@attributes = {:name=>'Aaron',:email=>'aaron@nonobo.com',:password=>'123456'}
		ActiveObject::Base.adb.clear
	end

	def test_new_object
		@u = User.new
		assert_equal true,@u.new_record?
		User.attributes.each do |attribute|
			assert_equal true,@u.respond_to?(attribute)
		end
	end

	def test_new_object_with_attributes
		@u = User.new(@attributes)
		@attributes.each do |key,value|
			assert_equal value,@u.send(key)
		end
	end

	def test_create_object
		@u = User.create(@attributes)
		assert_equal false,@u.new_record?
		@u.destroy
	end

	def test_find_object
		User.create(@attributes)
		@u = User.find(@attributes[:email])
		@attributes.each do |key,value|
			assert_equal value,@u.send(key)
		end
		assert_equal false,@u.new_record?
	end

	def test_all
		@users = []
		@users << User.create(@attributes)
		@users << User.create(@attributes.merge(:email=>'kame@nonobo.com'))
		@users << User.create(@attributes.merge(:email=>'jim@nonobo.com'))
		Account.create(@attributes.merge(:email=>'nancy@nonobo.com'))

		@users = User.all

		assert_equal @users.size,3

		@users.each do |user|
			assert_equal ['kame@nonobo.com','jim@nonobo.com','aaron@nonobo.com'].include?(user.email),true
		end
	end

	def test_delete_object
		User.create(@attributes)
		User.delete(@attributes[:email])
		assert_raise ActiveObject::ObjectNotFound do
			User.find(@attributes[:email])
		end
	end

	def test_create_multiple_object
		@objects = [{:name=>'aaron',:email=>'aaron@nonobo.com'},{:name=>'yalong',:email=>'yalong@nonobo.com'}]
		User.create(@objects)
		@objects.each do |object|
			@u = User.find(object[:email])
			assert_equal object[:email],@u.email
			@u.destroy
		end
	end

	def test_update_attributes
		@u = User.create(@attributes)
		@u.update_attributes(:name=>'kame')
		assert_equal @u.name,"kame"
	end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
activeobject-0.0.4 ./spec/case/base_test.rb