Sha256: 81ed919ae577ec55f905d669eadfb9a478dda847bbf70581383b516d3736f484
Contents?: true
Size: 1.33 KB
Versions: 3
Compression:
Stored size: 1.33 KB
Contents
require 'spec_helper' describe Mongoid::History::Tracker do before :each do class Model include Mongoid::Document include Mongoid::History::Trackable field :name, type: String belongs_to :user, inverse_of: :models has_and_belongs_to_many :external_users, class_name: 'User', inverse_of: :external_models track_history on: %i[name user external_user_ids], modifier_field_inverse_of: nil end class User include Mongoid::Document has_many :models, dependent: :destroy, inverse_of: :user has_and_belongs_to_many :external_model, class_name: 'Model', inverse_of: :external_users end end after :each do Object.send(:remove_const, :Model) Object.send(:remove_const, :User) end let(:user) { User.create! } let(:model) { Model.create!(name: 'Foo', user: user, modifier: user) } it 'should be possible to undo when having multiple relations to modifier class' do model.update_attributes!(name: 'Bar', modifier: user) model.undo! user expect(model.name).to eq 'Foo' model.redo! user, 2 expect(model.name).to eq 'Bar' end it 'should track foreign key relations' do expect(Model.tracked_field?(:external_user_ids)).to be true expect(Model.tracked_field?(:user)).to be true expect(Model.tracked_field?(:user_id)).to be true end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mongoid-history-0.8.3 | spec/integration/multi_relation_spec.rb |
mongoid-history-0.8.2 | spec/integration/multi_relation_spec.rb |
mongoid-history-0.8.1 | spec/integration/multi_relation_spec.rb |