Skip to content

Commit

Permalink
Remove set_the_flash in favor of set_flash
Browse files Browse the repository at this point in the history
  • Loading branch information
mcmire committed Feb 9, 2015
1 parent cc27723 commit 801f2c7
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 118 deletions.
2 changes: 2 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
* `ensure_inclusion_of`, `ensure_exclusion_of`, and `ensure_length_of` have been
removed in favor of their `validate_*` counterparts.

* `set_the_flash` has been removed in favor of `set_flash`.

# 2.8.0

### Deprecations
Expand Down
10 changes: 0 additions & 10 deletions lib/shoulda/matchers/action_controller/set_flash_matcher.rb
Original file line number Diff line number Diff line change
Expand Up @@ -149,16 +149,6 @@ def set_flash
SetFlashMatcher.new
end

# @deprecated Use {#set_flash} instead.
# @return [SetFlashMatcher]
def set_the_flash
Shoulda::Matchers.warn_about_deprecated_method(
:set_the_flash,
:set_flash
)
set_flash
end

# @private
class SetFlashMatcher
def initialize
Expand Down
202 changes: 94 additions & 108 deletions spec/unit/shoulda/matchers/action_controller/set_flash_matcher_spec.rb
Original file line number Diff line number Diff line change
@@ -1,147 +1,133 @@
require 'unit_spec_helper'

describe Shoulda::Matchers::ActionController, type: :controller do
describe '#set_the_flash' do
it 'is deprecated in favor of #set_flash' do
expect { set_the_flash }.to deprecate(:set_the_flash, :set_flash)
end
describe Shoulda::Matchers::ActionController::SetFlashMatcher, type: :controller do
it 'fails with unmatchable #to' do
expect { set_flash.to(1) }.to raise_error('cannot match against 1')
end

it 'still works regardless' do
silence_warnings do
expect(controller_with_flash(notice: 'hi')).to set_the_flash
end
context 'a controller that sets a flash message' do
it 'accepts setting any flash message' do
expect(controller_with_flash(notice: 'hi')).to set_flash
end
end

describe '#set_flash' do
it 'fails with unmatchable #to' do
expect { set_flash.to(1) }.to raise_error('cannot match against 1')
it 'accepts setting the exact flash message' do
expect(controller_with_flash(notice: 'hi')).to set_flash.to('hi')
end

context 'a controller that sets a flash message' do
it 'accepts setting any flash message' do
expect(controller_with_flash(notice: 'hi')).to set_flash
end
it 'accepts setting a matched flash message' do
expect(controller_with_flash(notice: 'hello')).to set_flash.to(/he/)
end

it 'accepts setting the exact flash message' do
expect(controller_with_flash(notice: 'hi')).to set_flash.to('hi')
end
it 'rejects setting a different flash message' do
expect(controller_with_flash(notice: 'hi')).
not_to set_flash.to('other')
end

it 'accepts setting a matched flash message' do
expect(controller_with_flash(notice: 'hello')).to set_flash.to(/he/)
end
it 'rejects setting a different pattern' do
expect(controller_with_flash(notice: 'hi')).
not_to set_flash.to(/other/)
end
end

it 'rejects setting a different flash message' do
expect(controller_with_flash(notice: 'hi')).
not_to set_flash.to('other')
end
context 'a controller that sets a flash.now message' do
it 'rejects setting any flash message' do
expect(controller_with_flash_now).not_to set_flash
end

it 'rejects setting a different pattern' do
expect(controller_with_flash(notice: 'hi')).
not_to set_flash.to(/other/)
end
it 'accepts setting any flash.now message' do
expect(controller_with_flash_now).to set_flash.now
end

context 'a controller that sets a flash.now message' do
it 'rejects setting any flash message' do
expect(controller_with_flash_now).not_to set_flash
end
it 'accepts setting the exact flash.now message' do
expect(controller_with_flash_now(notice: 'hi')).
to set_flash.now.to('hi')
end

it 'accepts setting any flash.now message' do
expect(controller_with_flash_now).to set_flash.now
end
it 'accepts setting a matched flash.now message' do
expect(controller_with_flash_now(notice: 'flasher')).
to set_flash.now.to(/lash/)
end

it 'accepts setting the exact flash.now message' do
expect(controller_with_flash_now(notice: 'hi')).
to set_flash.now.to('hi')
end
it 'rejects setting a different flash.now message' do
expect(controller_with_flash_now(notice: 'hi')).
not_to set_flash.now.to('other')
end

it 'accepts setting a matched flash.now message' do
expect(controller_with_flash_now(notice: 'flasher')).
to set_flash.now.to(/lash/)
end
it 'rejects setting a different flash.now pattern' do
expect(controller_with_flash_now(notice: 'hi')).
not_to set_flash.now.to(/other/)
end
end

it 'rejects setting a different flash.now message' do
expect(controller_with_flash_now(notice: 'hi')).
not_to set_flash.now.to('other')
end
context 'a controller that sets flash messages for multiple keys' do
it 'accepts flash message for either key' do
controller = controller_with_flash(notice: 'one', alert: 'two')

it 'rejects setting a different flash.now pattern' do
expect(controller_with_flash_now(notice: 'hi')).
not_to set_flash.now.to(/other/)
end
expect(controller).to set_flash[:notice]
expect(controller).to set_flash[:alert]
end

context 'a controller that sets flash messages for multiple keys' do
it 'accepts flash message for either key' do
controller = controller_with_flash(notice: 'one', alert: 'two')
it 'rejects a flash message that is not one of the set keys' do
expect(controller_with_flash(notice: 'one', alert: 'two')).
not_to set_flash[:warning]
end

expect(controller).to set_flash[:notice]
expect(controller).to set_flash[:alert]
end
it 'accepts exact flash message of notice' do
expect(controller_with_flash(notice: 'one', alert: 'two')).
to set_flash[:notice].to('one')
end

it 'rejects a flash message that is not one of the set keys' do
expect(controller_with_flash(notice: 'one', alert: 'two')).
not_to set_flash[:warning]
end
it 'accepts setting a matched flash message of notice' do
expect(controller_with_flash(notice: 'one', alert: 'two')).
to set_flash[:notice].to(/on/)
end

it 'accepts exact flash message of notice' do
expect(controller_with_flash(notice: 'one', alert: 'two')).
to set_flash[:notice].to('one')
end
it 'rejects setting a different flash message of notice' do
expect(controller_with_flash(notice: 'one', alert: 'two')).
not_to set_flash[:notice].to('other')
end

it 'accepts setting a matched flash message of notice' do
expect(controller_with_flash(notice: 'one', alert: 'two')).
to set_flash[:notice].to(/on/)
end
it 'rejects setting a different pattern' do
expect(controller_with_flash(notice: 'one', alert: 'two')).
not_to set_flash[:notice].to(/other/)
end
end

it 'rejects setting a different flash message of notice' do
expect(controller_with_flash(notice: 'one', alert: 'two')).
not_to set_flash[:notice].to('other')
context 'a controller that sets flash and flash.now' do
it 'accepts setting any flash.now message' do
controller = build_fake_response do
flash.now[:notice] = 'value'
flash[:success] = 'great job'
end

it 'rejects setting a different pattern' do
expect(controller_with_flash(notice: 'one', alert: 'two')).
not_to set_flash[:notice].to(/other/)
end
expect(controller).to set_flash.now
expect(controller).to set_flash
end

context 'a controller that sets flash and flash.now' do
it 'accepts setting any flash.now message' do
controller = build_fake_response do
flash.now[:notice] = 'value'
flash[:success] = 'great job'
end

expect(controller).to set_flash.now
expect(controller).to set_flash
it 'accepts setting a matched flash.now message' do
controller = build_fake_response do
flash.now[:notice] = 'value'
flash[:success] = 'great job'
end

it 'accepts setting a matched flash.now message' do
controller = build_fake_response do
flash.now[:notice] = 'value'
flash[:success] = 'great job'
end
expect(controller).to set_flash.now.to(/value/)
expect(controller).to set_flash.to(/great/)
end

expect(controller).to set_flash.now.to(/value/)
expect(controller).to set_flash.to(/great/)
it 'rejects setting a different flash.now message' do
controller = build_fake_response do
flash.now[:notice] = 'value'
flash[:success] = 'great job'
end

it 'rejects setting a different flash.now message' do
controller = build_fake_response do
flash.now[:notice] = 'value'
flash[:success] = 'great job'
end

expect(controller).not_to set_flash.now.to('other')
expect(controller).not_to set_flash.to('other')
end
expect(controller).not_to set_flash.now.to('other')
expect(controller).not_to set_flash.to('other')
end
end

context 'a controller that does not set a flash message' do
it 'rejects setting any flash message' do
expect(controller_with_no_flashes).not_to set_flash
end
context 'a controller that does not set a flash message' do
it 'rejects setting any flash message' do
expect(controller_with_no_flashes).not_to set_flash
end
end

Expand Down

0 comments on commit 801f2c7

Please sign in to comment.