Mongoid::Rspec::Callbacks

RSpec Linter Gem Version Docs Maintainability Test Coverage Known Vulnerabilities

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.

Installation

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

Callbacks Matchers

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

Set Callbacks Matchers

describe User do
  it { is_expected.to set_callback(:save, :arround)  }
  it { is_expected.to set_callback(:validation, :after)  }
end

Association Callbacks Matchers

describe User do
  it { is_expected.to association_callback(:has_many,
                                           :add,
                                           :after,
                                           :send_email_to_subscribers)  }
end

delegate Matchers

describe User do
  it { is_expected.to delegate(:name).to(:author) }
  it { is_expected.to delegate(:day).to(:created_at).with_prefix(:date) }
end