# frozen_string_literal: true

RSpec.describe QunitController do
  def production_sign_in(user)
    # We need to call sign_in before stubbing the method because SessionController#become
    # checks for the current env when the file is loaded.
    # We need to make sure become is called once before stubbing, or the method
    # wont'be available for future tests if this one runs first.
    sign_in(user) if user
    Rails.env.stubs(:production?).returns(true)
  end

  it "hides page for regular users in production" do
    production_sign_in(Fabricate(:user))
    get "/theme-qunit"
    expect(response.status).to eq(404)
  end

  it "hides page for anon in production" do
    production_sign_in(nil)
    get "/theme-qunit"
    expect(response.status).to eq(404)
  end

  it "shows page for admin in production" do
    production_sign_in(Fabricate(:admin))
    get "/theme-qunit"
    expect(response.status).to eq(200)
  end
end