Sha256: 4a350ca8c589ec063c23b9481b2a7cb50aa35d4c511969b150735a829bea216a

Contents?: true

Size: 1.42 KB

Versions: 35

Compression:

Stored size: 1.42 KB

Contents

# -*- encoding : utf-8 -*-

RSpec.describe Card::Set::All::FetchHelper do
  let(:retrieve) { test_retrieve_existing }
  let(:retrieve_from_trash) { test_retrieve_existing look_in_trash: true }

  def test_retrieve_existing opts={}
    Card.send :retrieve_existing, "A".to_name, opts
  end

  describe "retrieve_existing" do
    it "looks for non-cached card in database" do
      expect_db_retrieval_with(:key, "a", nil) { retrieve }
    end

    it "doesn't look in db for cached cards(real)" do
      Card.cache.write "a", Card["B"]
      expect_no_db_retrieval { retrieve }
    end

    it "doesn't look in db for cached cards (new)" do
      Card.cache.write "a", Card.new
      expect_no_db_retrieval { retrieve }
    end

    it "doesn't look in db for cached cards (real) if 'look_in_trash' option used" do
      Card.cache.write "a", Card["B"]
      expect_no_db_retrieval { retrieve_from_trash }
    end

    it "looks in db for cached cards (new) if 'look_in_trash' option used" do
      Card.cache.write "a", Card.new
      expect_db_retrieval_with(:key, "a", true) { retrieve_from_trash }
    end

    def expect_no_db_retrieval
      allow(Card).to receive(:retrieve_from_db)
      yield
      expect(Card).not_to have_received(:retrieve_from_db)
    end

    def expect_db_retrieval_with *args
      allow(Card).to receive(:retrieve_from_db)
      yield
      expect(Card).to have_received(:retrieve_from_db).with(*args)
    end
  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
card-1.99.5 mod/core/spec/set/all/fetch_helper_spec.rb
card-1.99.4 mod/core/spec/set/all/fetch_helper_spec.rb
card-1.99.3 mod/core/spec/set/all/fetch_helper_spec.rb
card-1.99.2 mod/core/spec/set/all/fetch_helper_spec.rb
card-1.99.1 mod/core/spec/set/all/fetch_helper_spec.rb
card-1.99.0 mod/core/spec/set/all/fetch_helper_spec.rb
card-1.98.3 mod/core/spec/set/all/fetch_helper_spec.rb
card-1.98.2 mod/core/spec/set/all/fetch_helper_spec.rb
card-1.98.1 mod/core/spec/set/all/fetch_helper_spec.rb
card-1.98.0 mod/core/spec/set/all/fetch_helper_spec.rb
card-1.97.0.1 mod/core/spec/set/all/fetch_helper_spec.rb
card-1.97.0 mod/core/spec/set/all/fetch_helper_spec.rb
card-1.96.8 mod/core/spec/set/all/fetch_helper_spec.rb
card-1.96.7 mod/core/spec/set/all/fetch_helper_spec.rb
card-1.96.6 mod/core/spec/set/all/fetch_helper_spec.rb
card-1.96.5 mod/core/spec/set/all/fetch_helper_spec.rb
card-1.96.4 mod/core/spec/set/all/fetch_helper_spec.rb
card-1.96.3 mod/core/spec/set/all/fetch_helper_spec.rb
card-1.96.2 mod/core/spec/set/all/fetch_helper_spec.rb
card-1.96.1 mod/core/spec/set/all/fetch_helper_spec.rb