otwarchive-symphonyarchive/spec/models/indexing/cache_master_spec.rb
2026-03-11 22:22:11 +00:00

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