discourse/spec/lib/ember_cli_spec.rb

51 lines
1.3 KiB
Ruby

# frozen_string_literal: true
describe EmberCli do
describe ".ember_version" do
it "works" do
expect(EmberCli.ember_version).to match(/\A\d+\.\d+/)
end
end
describe "cache" do
after { EmberCli.clear_cache! }
def simulate_request_cache_clearance
# this method is defined by ActiveSupport::CurrentAttributes
# and is called before/after every web request
EmberCli.reset
end
context "in development" do
before { Rails.env.stubs(:development?).returns(true) }
it "cache works, and is cleared before/after each web request" do
EmberCli.cache[:foo] = "bar"
expect(EmberCli.cache[:foo]).to eq("bar")
simulate_request_cache_clearance
expect(EmberCli.cache[:foo]).to eq(nil)
end
end
context "in production" do
before { Rails.env.stubs(:development?).returns(false) }
it "cache works, and can be cleared" do
EmberCli.cache[:foo] = "bar"
expect(EmberCli.cache[:foo]).to eq("bar")
simulate_request_cache_clearance
# In production, persists across requests
expect(EmberCli.cache[:foo]).to eq("bar")
# But still can be manually cleared
EmberCli.clear_cache!
expect(EmberCli.cache[:foo]).to eq(nil)
end
end
end
end