http://rubygems.org/gems/mongoid-rspec-callbacks
RSpec Callbacks matchers for Mongoid 7.x and ActiveSupport 6.x
This gem is meant to be use with mongoid-rpsec, altought it works by itself.
Syntax is the same as shoulda-callback-matchers.
By now, only on
option is supported.
Add to your Gemfile
gem 'mongoid-rspec-callbacks'
Drop in existing or dedicated support file in spec/support (spec/support/mongoid.rb)
RSpec.configure do |configuration|
configuration.include Mongoid::Matchers
end
describe User do
it { should callback(:method).before(:save) }
it { should callback(:method).after(:save) }
it { should callback(:method, :method2).before(:validation) }
it { should callback(:method).after(:validation).on(:create) }
end
describe User do
it { is_expected.to set_callback(:save, :arround) }
it { is_expected.to set_callback(:validation, :after) }
end
describe User do
it { is_expected.to association_callback(:has_many,
:add,
:after,
:send_email_to_subscribers) }
end
describe User do
it { is_expected.to delegate(:name).to(:author) }
it { is_expected.to delegate(:day).to(:created_at).with_prefix(:date) }
end