Sha256: 7e3bfa13d959f226927b2d58ff2d0a5ea7b5f0f01540d10806e9e69fc490f9e3

Contents?: true

Size: 1.67 KB

Versions: 12

Compression:

Stored size: 1.67 KB

Contents

require 'rails_helper'

RSpec.describe ActiveAdmin::Views::UnsupportedBrowser do
  let(:helpers){ mock_action_view }
  let(:namespace) { double :namespace, unsupported_browser_matcher: /MSIE [1-8]\.0/ }
  let(:component) { double :unsupported_browser_component }
  let(:base) { ActiveAdmin::Views::Pages::Base.new }

  def build_panel
    render_arbre_component({}, helpers) do
      insert_tag ActiveAdmin::Views::UnsupportedBrowser
    end
  end

  it "should render the panel" do
    expect(I18n).to receive(:t).and_return("headline", "recommendation" , "turn_off_compatibility_view")
    expect(build_panel.content.gsub(/\s+/, "")).to eq "<h1>headline</h1><p>recommendation</p><p>turn_off_compatibility_view</p>"
  end

  describe "ActiveAdmin::Views::Pages::Base behavior" do
    context "when the reqex match" do
      it "should build the unsupported browser panel" do
        expect(base).to receive(:active_admin_namespace).and_return(namespace)
        expect(base).to receive_message_chain(:controller, :request, :user_agent).and_return("Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 6.2; Trident/6.0)")
        expect(base).to receive(:unsupported_browser)
        base.send(:build_unsupported_browser)
      end
    end

    context "when the regex not match" do
      it "should not build the unsupported browser panel" do
        expect(base).to receive(:active_admin_namespace).and_return(namespace)
        expect(base).to receive_message_chain(:controller, :request, :user_agent).and_return("Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)")
        expect(base).to receive(:unsupported_browser).never
        base.send(:build_unsupported_browser)
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
activeadmin-rb-1.6.0 spec/unit/views/components/unsupported_browser_spec.rb
activeadmin-rb-1.5.2 spec/unit/views/components/unsupported_browser_spec.rb
activeadmin-rb-1.5.1 spec/unit/views/components/unsupported_browser_spec.rb
activeadmin-rb-1.5.0 spec/unit/views/components/unsupported_browser_spec.rb
activeadmin_addons-1.7.1 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-f71b375325eb/spec/unit/views/components/unsupported_browser_spec.rb
activeadmin-rb-1.4.0 spec/unit/views/components/unsupported_browser_spec.rb
activeadmin_addons-1.7.0 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-f71b375325eb/spec/unit/views/components/unsupported_browser_spec.rb
activeadmin_addons-1.6.0 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-f71b375325eb/spec/unit/views/components/unsupported_browser_spec.rb
activeadmin_addons-1.5.0 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-f71b375325eb/spec/unit/views/components/unsupported_browser_spec.rb
activeadmin_addons-1.4.0 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-f71b375325eb/spec/unit/views/components/unsupported_browser_spec.rb
activeadmin_addons-1.3.0 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-f71b375325eb/spec/unit/views/components/unsupported_browser_spec.rb
activeadmin_addons-1.2.0 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-f71b375325eb/spec/unit/views/components/unsupported_browser_spec.rb