# frozen_string_literal: true require_relative '../../plugin_helper.rb' describe CustomWizard::Cache do it "writes and reads values to the cache" do CustomWizard::Cache.new('list').write([1, 2, 3]) expect(CustomWizard::Cache.new('list').read).to eq([1, 2, 3]) end it "deletes values from the cache" do CustomWizard::Cache.new('list').delete expect(CustomWizard::Cache.new('list').read).to eq(nil) end describe "#wrap" do before do @raw = [1, 2, 3] end def list CustomWizard::Cache.wrap('list') { @raw } end it "returns value from passed block" do expect(list).to eq([1, 2, 3]) end it "returns cached value" do cached = list @raw = [3, 2, 1] expect(list).to eq(cached) end end end