Skip to content

Instantly share code, notes, and snippets.

@vinbarnes
Last active December 30, 2015 07:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save vinbarnes/7794826 to your computer and use it in GitHub Desktop.
Save vinbarnes/7794826 to your computer and use it in GitHub Desktop.
module ApplicationHelper
def weasel(opts={})
true
end
def wrapper
weasel(1)
end
end
require "test_helper"
require "minitest/mock"
require "delegate"
class AppHelper
include ApplicationHelper
end
class MockAppHelper < AppHelper
extend Forwardable
attr_reader :mock
def_delegator :@mock, :weasel
def initialize(mock)
@mock = mock
end
end
class ApplicationHelperTest < ActionView::TestCase
setup do
@helper = AppHelper.new
end
test "weasel" do
assert @helper.weasel
end
test "wrapper" do
mock = Minitest::Mock.new
mock.expect(:weasel, false, [1])
mocker = MockAppHelper.new(mock)
refute mocker.wrapper
mock.verify
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment