Sha256: 90f6e285045ee87cd39a4c317ec8d690adefc2cf885e0bed53301c58fdca1047

Contents?: true

Size: 1008 Bytes

Versions: 64

Compression:

Stored size: 1008 Bytes

Contents

require 'spec_helper'

describe "Rabl Cache", :type => :request, :caching => true do
  let!(:user)  { create(:admin_user) }

  before do
    create(:variant) 
    user.generate_spree_api_key!
    expect(Spree::Product.count).to eq(1)
  end
  
  it "doesn't create a cache key collision for models with different rabl templates" do
    get "/api/variants", :token => user.spree_api_key
    expect(response.status).to eq(200)

    # Make sure we get a non master variant
    variant_a = JSON.parse(response.body)['variants'].select do |v|
      !v['is_master']
    end.first

    expect(variant_a['is_master']).to be false
    expect(variant_a['stock_items']).not_to be_nil

    get "/api/products/#{Spree::Product.first.id}", :token => user.spree_api_key
    expect(response.status).to eq(200)
    variant_b = JSON.parse(response.body)['variants'].last
    expect(variant_b['is_master']).to be false

    expect(variant_a['id']).to eq(variant_b['id'])
    expect(variant_b['stock_items']).to be_nil
  end
end

Version data entries

64 entries across 64 versions & 2 rubygems

Version Path
solidus_api-1.2.3 spec/requests/rabl_cache_spec.rb
solidus_api-1.1.4 spec/requests/rabl_cache_spec.rb
solidus_api-1.0.7 spec/requests/rabl_cache_spec.rb
spree_api-3.0.10 spec/requests/rabl_cache_spec.rb
spree_api-3.0.9 spec/requests/rabl_cache_spec.rb
solidus_api-1.0.6 spec/requests/rabl_cache_spec.rb
spree_api-3.0.8 spec/requests/rabl_cache_spec.rb
solidus_api-1.2.2 spec/requests/rabl_cache_spec.rb
spree_api-3.0.7 spec/requests/rabl_cache_spec.rb
solidus_api-1.2.1 spec/requests/rabl_cache_spec.rb
solidus_api-1.1.3 spec/requests/rabl_cache_spec.rb
solidus_api-1.0.5 spec/requests/rabl_cache_spec.rb
spree_api-3.0.6.1 spec/requests/rabl_cache_spec.rb
spree_api-3.0.6 spec/requests/rabl_cache_spec.rb
spree_api-3.0.5 spec/requests/rabl_cache_spec.rb
solidus_api-1.2.0 spec/requests/rabl_cache_spec.rb
solidus_api-1.2.0.rc2 spec/requests/rabl_cache_spec.rb
solidus_api-1.0.4 spec/requests/rabl_cache_spec.rb
solidus_api-1.1.2 spec/requests/rabl_cache_spec.rb
solidus_api-1.2.0.rc1 spec/requests/rabl_cache_spec.rb