Sha256: f10c66d16e912eca04a32b070ab4136d2e5cf3d8d518956cc81fe3543514058e

Contents?: true

Size: 1.38 KB

Versions: 15

Compression:

Stored size: 1.38 KB

Contents

require 'spec_helper'

describe "Documents with the Rails plugin" do
  let(:doc) { Doc {
    key :foo, String
    key :long_field, String, :alias => "lf"
   }}

  context "with values from the DB" do
    subject { doc.create(:foo => "bar", :long_field => "long value") }
    it "should have x_before_type_cast" do
      subject.foo_before_type_cast.should == "bar"
    end

    it "should have x_before_type_cast for aliased fields" do
      subject.long_field_before_type_cast.should == "long value"
    end

    it "should honor app-set values over DB-set values" do
      subject.foo = nil
      subject.foo_before_type_cast.should == nil
    end
  end

  context "when blank" do
    subject { doc.create() }
    it "should have x_before_type_cast" do
      subject.foo_before_type_cast.should == nil
    end

    it "should honor app-set values over DB-set values" do
      subject.foo = nil
      subject.foo_before_type_cast.should == nil

      subject.foo = :baz
      subject.foo_before_type_cast.should == :baz

      subject.save
      subject.reload.foo_before_type_cast.should == "baz"
    end
  end

  context "#has_one" do
    subject do
      Doc do
        has_one :foo
      end
    end

    it "should create a one association" do
      subject.associations.should have_key :foo
      subject.associations[:foo].should be_a MongoMapper::Plugins::Associations::OneAssociation
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
mongo_mapper-0.17.0 spec/functional/rails_spec.rb
mongo_mapper-0.16.0 spec/functional/rails_spec.rb
mongo_mapper-0.15.6 spec/functional/rails_spec.rb
mongo_mapper-0.15.5 spec/functional/rails_spec.rb
mongo_mapper-0.15.4 spec/functional/rails_spec.rb
mongo_mapper-0.15.3 spec/functional/rails_spec.rb
mongo_mapper-0.15.2 spec/functional/rails_spec.rb
mongo_mapper-0.15.1 spec/functional/rails_spec.rb
mongo_mapper-0.15.0 spec/functional/rails_spec.rb
mongo_mapper-0.14.0 spec/functional/rails_spec.rb
mongo_mapper-0.14.0.rc1 spec/functional/rails_spec.rb
mongo_mapper-0.13.1 spec/functional/rails_spec.rb
mongo_mapper-0.13.0 spec/functional/rails_spec.rb
mongo_mapper-0.13.0.beta2 spec/functional/rails_spec.rb
mongo_mapper-0.13.0.beta1 spec/functional/rails_spec.rb