require "rails_helper"

describe Layout::AdminHeaderComponent do
  let(:user) { create(:user) }
  before { Setting["org_name"] = "CONSUL" }

  around do |example|
    with_request_url("/") { example.run }
  end

  context "management section", controller: Management::BaseController do
    it "shows the menu button and menu for administrators" do
      create(:administrator, user: user)

      render_inline Layout::AdminHeaderComponent.new(user)

      expect(page).to have_link "Go back to CONSUL"
      expect(page).to have_link "You don't have new notifications"
      expect(page).to have_link "My content"
      expect(page).to have_link "My account"
      expect(page).to have_button "Sign out"
      expect(page).to have_css "[data-toggle]"
    end

    it "does not show the menu button and menu for managers" do
      create(:manager, user: user)

      render_inline Layout::AdminHeaderComponent.new(user)

      expect(page).to have_link "Go back to CONSUL"
      expect(page).not_to have_content "You don't have new notifications"
      expect(page).not_to have_content "My content"
      expect(page).not_to have_content "My account"
      expect(page).not_to have_content "Sign out"
      expect(page).not_to have_css "[data-toggle]"
    end
  end

  it "does not show link to root path when multitenancy_management_mode is enabled" do
    allow(Rails.application.config).to receive(:multitenancy_management_mode).and_return(true)
    create(:administrator, user: user)

    render_inline Layout::AdminHeaderComponent.new(user)

    expect(page).not_to have_link "Go back to CONSUL"
  end
end
