Sha256: 38ff45bf96a80be14bed2b378a71ca59e51252f5310e8c60ec09c71e8430d046

Contents?: true

Size: 1.29 KB

Versions: 5

Compression:

Stored size: 1.29 KB

Contents

# frozen_string_literal: true

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 < Devise::ControllerTestCase
  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 < Devise::ControllerTestCase
  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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
devise-4.5.0 test/controllers/inherited_controller_i18n_messages_test.rb
devise-4.4.3 test/controllers/inherited_controller_i18n_messages_test.rb
devise-4.4.2 test/controllers/inherited_controller_i18n_messages_test.rb
devise-4.4.1 test/controllers/inherited_controller_i18n_messages_test.rb
devise-4.4.0 test/controllers/inherited_controller_i18n_messages_test.rb