Sha256: 3faee52686a58b7ce39d33e8e5f1fb7096df7c522031fc57b9f5536e36fe585b

Contents?: true

Size: 1.05 KB

Versions: 2

Compression:

Stored size: 1.05 KB

Contents

require File.join(File.dirname(__FILE__), 'CONFIG.rb')

# $DBG = true

require 'rubygems'
require 'facets'
require 'test/unit'

require 'og'

class TestMultiple < Test::Unit::TestCase # :nodoc: all
  include Og

  class User
    property :name, String, :uniq => true
    has_many Article
    
    def initialize(name)
      @name = name
    end
  end

  class Article
    property :title, String
    belongs_to User
    
    def initialize(title)
      @title = title
    end
  end

  # Order is important, User has to be managed first!
  $og2.manage_class User
  $og1.manage_class Article

  def test_all
    assert_equal Article.ogmanager.store.class, $og1.store.class
    assert_equal User.ogmanager.store.class, $og2.store.class
    
    a1 = Article.create('hello')
    a2 = Article.create('world')
    
    u = User.create('gmosx')
    
    assert_equal 2, Article.count
    
    u.articles << a1
    u.articles << a2
    
    gmosx = User.find_by_name('gmosx')
    assert_equal 2, gmosx.articles.size
    assert_equal 'hello', gmosx.articles[0].title
  end
  
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
og-0.41.0 test/og/tc_multiple.rb
og-0.40.0 test/og/tc_multiple.rb