Sha256: 4dd03fe8fd8c0fa6410387e662ff34a7372601b591f0cab1e1045f4c92f9e245

Contents?: true

Size: 1.3 KB

Versions: 28

Compression:

Stored size: 1.3 KB

Contents

require 'spec'
require 'ruby_ext'
require "mongo_mapper"
require "#{File.dirname __FILE__}/../../lib/mongo_mapper_ext/micelaneous"
require "#{File.dirname __FILE__}/../../lib/mongo_mapper_ext/plugins/micelaneous"

describe "MongoMapper Default Scope" do
  before :all do
    class ::Post
      include MongoMapper::Document      
      plugin MongoMapper::Plugins::Micelaneous
      
      key :comments_count, Integer, :default => 0
      has_many :comments
    end
    
    class ::Comment
      include MongoMapper::Document
      plugin MongoMapper::Plugins::Micelaneous
      
      key :post_id
      belongs_to :post, :counter_cache => true
    end
    
    MongoMapper.database = 'test'
  end
  
  after :all do
    %w{Post Comment}.each do |obj_name|
      Object.send :remove_const, obj_name if Object.const_defined? obj_name
    end
  end
  
  before :each do 
    [Post, Comment].every.delete_all
  end
    
  it "should increase count of comments" do
    post = Post.create!
    comment = post.comments.create!
    
    post.reload
    post.comments_count.should == 1
  end
  
  it "should decrease count of comments" do
    post = Post.create!
    comment = post.comments.create!
    post.reload
    post.comments_count.should == 1
    
    comment.destroy    
    post.reload
    post.comments_count.should == 0
  end
end

Version data entries

28 entries across 25 versions & 2 rubygems

Version Path
crystal-ext-0.0.3 spec/mongo_mapper_ext/micelaneous_plugin_spec.rb
crystal-ext-0.0.3 lib/rails_ext/spec/mongo_mapper_ext/micelaneous_plugin_spec.rb
crystal-ext-0.0.2 spec/mongo_mapper_ext/micelaneous_plugin_spec.rb
crystal-ext-0.0.2 lib/rails_ext/spec/mongo_mapper_ext/micelaneous_plugin_spec.rb
crystal-ext-0.0.1 lib/rails_ext/spec/mongo_mapper_ext/micelaneous_plugin_spec.rb
crystal-ext-0.0.1 spec/mongo_mapper_ext/micelaneous_plugin_spec.rb
rails-ext-0.3.29 spec/mongo_mapper_ext/micelaneous_plugin_spec.rb
rails-ext-0.3.28 spec/mongo_mapper_ext/micelaneous_plugin_spec.rb
rails-ext-0.3.27 spec/mongo_mapper_ext/micelaneous_plugin_spec.rb
rails-ext-0.3.25 spec/mongo_mapper_ext/micelaneous_plugin_spec.rb
rails-ext-0.3.24 spec/mongo_mapper_ext/micelaneous_plugin_spec.rb
rails-ext-0.3.23 spec/mongo_mapper_ext/micelaneous_plugin_spec.rb
rails-ext-0.3.22 spec/mongo_mapper_ext/micelaneous_plugin_spec.rb
rails-ext-0.3.21 spec/mongo_mapper_ext/micelaneous_plugin_spec.rb
rails-ext-0.3.20 spec/mongo_mapper_ext/micelaneous_plugin_spec.rb
rails-ext-0.3.19 spec/mongo_mapper_ext/micelaneous_plugin_spec.rb
rails-ext-0.3.18 spec/mongo_mapper_ext/micelaneous_plugin_spec.rb
rails-ext-0.3.17 spec/mongo_mapper_ext/micelaneous_plugin_spec.rb
rails-ext-0.3.16 spec/mongo_mapper_ext/micelaneous_plugin_spec.rb
rails-ext-0.3.15 spec/mongo_mapper_ext/micelaneous_plugin_spec.rb