An open API service indexing awesome lists of open source software.

https://github.com/westonganger/minitest_change_assertions

Provides assertions for your Minitest suite to determine if an object has been changed
https://github.com/westonganger/minitest_change_assertions

assertions minitest minitest-assertions ruby test-suite testing

Last synced: about 1 year ago
JSON representation

Provides assertions for your Minitest suite to determine if an object has been changed

Awesome Lists containing this project

README

          

# Minitest Change Assertions

Gem Version
CI Status
RubyGems Downloads
Buy Me a Coffee

Provides assertions for your Minitest suite to determine if an object has been changed.

# Install

```ruby
gem 'minitest_change_assertions'
```

# Usage

## `assert_changed`

```ruby
assert_changed 'user.name' do
user.name = 'Bob'
end

assert_changed -> { user.name } do
user.name = 'Bob'
end

### OR with optional :to argument

assert_changed 'user.name', to: 'Bob' do
user.name = 'Bob'
end

assert_changed -> { user.name }, to: 'Bob' do
user.name = 'Bob'
end
```

## `assert_not_changed`

```ruby
assert_not_changed 'user.name' do
user.update(attrs)
end

assert_not_changed -> { user.name } do
user.update(attrs)
end

### OR with optional :to argument

assert_not_changed 'user.name', to: 'Allen' do
user.name = 'Bob'
end

assert_not_changed -> { user.name }, to: 'Allen' do
user.name = 'Bob'
end
```

# Credits
Created by [Weston Ganger](https://westonganger.com) - [@westonganger](https://github.com/westonganger)