Sha256: 582a8e9bbb9fc2bf66fbcbd2ab9232a121df1ab81bc8e70be708d99ab490dff6

Contents?: true

Size: 1.05 KB

Versions: 37

Compression:

Stored size: 1.05 KB

Contents

require File.join(File.dirname(__FILE__), '..', '..', 'spec_helper')
require File.join(FIXTURE_PATH, 'more', 'card')

class Car < CouchRest::ExtendedDocument
  use_database TEST_SERVER.default_database
  
  property :name
  property :driver, :cast_as => 'Driver'
end

class Driver < CouchRest::ExtendedDocument
  use_database TEST_SERVER.default_database
  # You have to add a casted_by accessor if you want to reach a casted extended doc parent
  attr_accessor :casted_by
  
  property :name
end

describe "casting an extended document" do
  
  before(:each) do
    @car    = Car.new(:name => 'Renault 306')
    @driver = Driver.new(:name => 'Matt')
  end
  
  # it "should not create an empty casted object" do
  #   @car.driver.should be_nil
  # end
  
  it "should let you assign the casted attribute after instantializing an object" do
    @car.driver = @driver
    @car.driver.name.should == 'Matt'
  end
  
  it "should let the casted document who casted it" do
    Car.new(:name => 'Renault 306', :driver => @driver)
    @car.driver.casted_by.should == @car
  end
  
end

Version data entries

37 entries across 37 versions & 16 rubygems

Version Path
brianmario-couchrest-0.23 spec/couchrest/more/casted_extended_doc_spec.rb
gbuesing-couchrest-0.23 spec/couchrest/more/casted_extended_doc_spec.rb
glasner-couchrest-0.2.2 spec/couchrest/more/casted_extended_doc_spec.rb
gohanlonllc-couchrest-0.2.3.1 spec/couchrest/more/casted_extended_doc_spec.rb
halfninja-couchrest-0.23.2 spec/couchrest/more/casted_extended_doc_spec.rb
halfninja-couchrest-0.23.3 spec/couchrest/more/casted_extended_doc_spec.rb
jchris-couchrest-0.17.0 spec/couchrest/more/casted_extended_doc_spec.rb
jchris-couchrest-0.2.1 spec/couchrest/more/casted_extended_doc_spec.rb
jchris-couchrest-0.2.2 spec/couchrest/more/casted_extended_doc_spec.rb
jchris-couchrest-0.2 spec/couchrest/more/casted_extended_doc_spec.rb
jchris-couchrest-0.22 spec/couchrest/more/casted_extended_doc_spec.rb
jchris-couchrest-0.23 spec/couchrest/more/casted_extended_doc_spec.rb
jkestr-couchrest-0.23 spec/couchrest/more/casted_extended_doc_spec.rb
jpbougie-couchrest-0.27 spec/couchrest/more/casted_extended_doc_spec.rb
jrun-couchrest-0.17.1 spec/couchrest/more/casted_extended_doc_spec.rb
jrun-couchrest-0.2.1.1 spec/couchrest/more/casted_extended_doc_spec.rb
jrun-couchrest-0.2.1 spec/couchrest/more/casted_extended_doc_spec.rb
mattetti-couchrest-0.17 spec/couchrest/more/casted_extended_doc_spec.rb
mattetti-couchrest-0.2.1.0 spec/couchrest/more/casted_extended_doc_spec.rb
mattetti-couchrest-0.2.1 spec/couchrest/more/casted_extended_doc_spec.rb