Sha256: 3b036500a65612ec6115d05026f7d376368e7fae6e2ac3155b9ce64e4827b10f

Contents?: true

Size: 1.12 KB

Versions: 7

Compression:

Stored size: 1.12 KB

Contents

require 'test_helper'

describe SweetNotifications::Railtie do
  it 'has a railtie name' do
    railtie = SweetNotifications.railtie('test_railtie', nil, nil)
    assert_equal 'test_railtie', railtie.railtie_name
  end

  describe 'initializer' do
    it 'adds an initializer' do
      railtie = SweetNotifications.railtie('log_subscriber', nil, nil)
      assert_equal 1, railtie.initializers.length
    end

    it 'attaches log subscriber to namespace' do
      mock = MiniTest::Mock.new
      mock.expect :attach_to, true, [:log_subscriber]
      railtie = SweetNotifications.railtie('log_subscriber', mock, Module.new)
      railtie.run_initializers
      assert mock.verify
    end

    it 'injects controller runtime to ActionController::Base' do
      log_subscriber = Class.new(SweetNotifications::LogSubscriber)
      runtime = SweetNotifications.controller_runtime('injection',
                                                      log_subscriber)
      railtie = SweetNotifications.railtie('test', log_subscriber, runtime)
      railtie.run_initializers
      assert_includes ActionController::Base.ancestors, runtime
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
sweet_notifications-1.1.1 test/railtie_test.rb
sweet_notifications-1.1.0 test/railtie_test.rb
sweet_notifications-1.0.1 test/railtie_test.rb
sweet_notifications-1.0.0 test/railtie_test.rb
sweet_notifications-0.2.1 test/railtie_test.rb
sweet_notifications-0.2.0 test/railtie_test.rb
sweet_notifications-0.1.0 test/railtie_test.rb