discourse/spec/lib/redis_store_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

65 lines
952 B
Ruby

# frozen_string_literal: true
require 'cache'
describe "Redis Store" do
let :cache do
Cache.new(namespace: 'foo')
end
let :store do
DiscourseRedis.new_redis_store
end
before(:each) do
cache.redis.del "key"
store.delete "key"
end
it "can store stuff" do
store.fetch "key" do
"key in store"
end
r = store.read "key"
expect(r).to eq("key in store")
end
it "doesn't collide with our Cache" do
store.fetch "key" do
"key in store"
end
cache.fetch "key" do
"key in cache"
end
r = store.read "key"
expect(r).to eq("key in store")
end
it "can be cleared without clearing our cache" do
cache.clear
store.clear
store.fetch "key" do
"key in store"
end
cache.fetch "key" do
"key in cache"
end
store.clear
expect(store.read("key")).to eq(nil)
expect(cache.fetch("key")).to eq("key in cache")
end
end