37 lines
1 KiB
Ruby
37 lines
1 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe CacheMaster do
|
|
let(:cache_master) { CacheMaster.new(123_456) }
|
|
|
|
it "should have a key" do
|
|
expect(cache_master.key).to eq("works:123456:assocs")
|
|
end
|
|
|
|
it "should record deleted associations" do
|
|
cache_master.record('tag', 5)
|
|
expect(cache_master.get_hash).to eq("tag" => "5")
|
|
end
|
|
|
|
it "should combine multiple deleted associations" do
|
|
cache_master.record('tag', 5)
|
|
cache_master.record('tag', 6)
|
|
cache_master.record('pseud', 7)
|
|
expect(cache_master.get_hash).to eq({ "tag" => "5,6", "pseud" => "7" })
|
|
end
|
|
|
|
it "should expire caches" do
|
|
cache_master.record('tag', 5)
|
|
cache_master.record('tag', 6)
|
|
cache_master.record('pseud', 7)
|
|
expect(Tag).to receive(:expire_ids).with(['5', '6'])
|
|
cache_master.expire
|
|
end
|
|
|
|
it "should not retain data after expiring caches" do
|
|
cache_master.record('tag', 5)
|
|
cache_master.record('tag', 6)
|
|
cache_master.record('pseud', 7)
|
|
cache_master.expire
|
|
expect(cache_master.get_hash).to eq({})
|
|
end
|
|
end
|