Skip to content

Commit

Permalink
Add tests for translation scope being preserved when inheriting a con…
Browse files Browse the repository at this point in the history
…troller

issue #3367
  • Loading branch information
rosenfeld committed Jan 12, 2015
1 parent c2fb80d commit 7e5d0ac
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions test/controllers/inherited_controller_i18n_messages_test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
require 'test_helper'

class SessionsInheritedController < Devise::SessionsController
def test_i18n_scope
set_flash_message(:notice, :signed_in)
end
end

class AnotherInheritedController < SessionsInheritedController
protected

def translation_scope
'another'
end
end

class InheritedControllerTest < ActionController::TestCase
tests SessionsInheritedController

def setup
@mock_warden = OpenStruct.new
@controller.request.env['warden'] = @mock_warden
@controller.request.env['devise.mapping'] = Devise.mappings[:user]
end

test 'I18n scope is inherited from Devise::Sessions' do
I18n.expects(:t).with do |message, options|
message == 'user.signed_in' &&
options[:scope] == 'devise.sessions'
end
@controller.test_i18n_scope
end
end

class AnotherInheritedControllerTest < ActionController::TestCase
tests AnotherInheritedController

def setup
@mock_warden = OpenStruct.new
@controller.request.env['warden'] = @mock_warden
@controller.request.env['devise.mapping'] = Devise.mappings[:user]
end

test 'I18n scope is overridden' do
I18n.expects(:t).with do |message, options|
message == 'user.signed_in' &&
options[:scope] == 'another'
end
@controller.test_i18n_scope
end
end

0 comments on commit 7e5d0ac

Please sign in to comment.