Skip to content

Rspec matchers for Mongoid 5.X and ActiveSupport 4.2.X callbacks

License

Unknown, GPL-3.0 licenses found

Licenses found

Unknown
LICENSE
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

dazzl-tv/mongoid-rspec-callbacks

 
 

Repository files navigation

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

About

Rspec matchers for Mongoid 5.X and ActiveSupport 4.2.X callbacks

Resources

License

Unknown, GPL-3.0 licenses found

Licenses found

Unknown
LICENSE
GPL-3.0
COPYING

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%