Sha256: e5473eadf6245e30fce40f2185769e9d8c8c37317334a8f4f99965aaf0b10ae1

Contents?: true

Size: 1.52 KB

Versions: 2

Compression:

Stored size: 1.52 KB

Contents

require File.join(File.dirname(__FILE__), 'helper')

class AdapterTest < Test::Unit::TestCase
  context 'Serial key resource' do
    setup do
      class ::User
        include DataMapper::Resource
        property :id, Serial
        property :name, String
        property :age, Integer
      end

      @user = User.create(:name => 'Joe', :age => 22)
    end

    teardown do
      # Why doesn't DM::Resource#destroy exist?
      repository = DataMapper.repository(:default)
      repository.adapter.delete(
        DataMapper::Query.new(repository, ::User, {})
      )
    end

    should 'assign id to attributes' do
      item = User.create
      assert_kind_of User, item
      assert_not_nil item.id
    end

    should 'get an item' do
      assert_equal @user, User.get(@user.id)
    end

    should 'get items' do
      assert_equal 1, User.all.size
    end

    should 'destroy item' do
      assert @user.destroy
      assert_equal 0, User.all.size
    end
  end

  context 'Compound key resource' do
    setup do
      class ::User
        include DataMapper::Resource
        property :name, String, :key => true
        property :age, Integer, :key => true
      end

      @user = User.create(:name => 'Joe', :age => 22)
    end

    teardown do
      # Why doesn't DM::Resource#destroy exist?
      repository = DataMapper.repository(:default)
      repository.adapter.delete(
        DataMapper::Query.new(repository, ::User, {})
      )
    end

    should 'get an item' do
      assert_equal @user, User.get(*@user.key)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
shanna-dm-tokyo-cabinet-adapter-0.1.2 test/test_adapter.rb
shanna-dm-tokyo-cabinet-adapter-0.1.3 test/test_adapter.rb