discourse/spec/models/application_request_spec.rb
David Taylor c9dab6fd08
DEV: Automatically require 'rails_helper' in all specs (#16077)
It's very easy to forget to add `require 'rails_helper'` at the top of every core/plugin spec file, and omissions can cause some very confusing/sporadic errors.

By setting this flag in `.rspec`, we can remove the need for `require 'rails_helper'` entirely.
2022-03-01 17:50:50 +00:00

46 lines
962 B
Ruby

# frozen_string_literal: true
describe ApplicationRequest do
before do
ApplicationRequest.enable
CachedCounting.reset
CachedCounting.enable
end
after do
ApplicationRequest.disable
CachedCounting.disable
end
def inc(key)
ApplicationRequest.increment!(key)
end
it "can log app requests" do
freeze_time
d1 = Time.now.utc.to_date
4.times do
inc("http_2xx")
end
inc("http_background")
freeze_time 1.day.from_now
d2 = Time.now.utc.to_date
inc("page_view_crawler")
inc("http_2xx")
CachedCounting.flush
expect(ApplicationRequest.find_by(date: d1, req_type: "http_2xx").count).to eq(4)
expect(ApplicationRequest.find_by(date: d1, req_type: "http_background").count).to eq(1)
expect(ApplicationRequest.find_by(date: d2, req_type: "page_view_crawler").count).to eq(1)
expect(ApplicationRequest.find_by(date: d2, req_type: "http_2xx").count).to eq(1)
end
end