Sha256: 7154112e6b34093042a7ee4e651b1801804b37d8a0381d6e2cb08fedb37cb5ea

Contents?: true

Size: 1.3 KB

Versions: 48

Compression:

Stored size: 1.3 KB

Contents

# frozen_string_literal: true

require 'rails_helper'
require 'spree/testing_support/factories/variant_factory'

RSpec.describe 'variant factory' do
  let(:factory_class) { Spree::Variant }

  describe 'base variant' do
    let(:factory) { :base_variant }

    it_behaves_like 'a working factory'
  end

  describe 'variant' do
    let(:factory) { :variant }

    it_behaves_like 'a working factory'
  end

  describe 'master variant' do
    let(:factory) { :master_variant }

    it_behaves_like 'a working factory'

    it "builds a master variant properly" do
      variant = create(factory)
      expect(variant).to be_is_master
      expect(variant.option_values).to be_empty

      product = variant.product
      expect(product.master).to be(variant)
      expect(product.variants).to be_empty
      expect(product.variants_including_master).to eq [variant]
      expect(product.option_types).to be_empty
    end

    it "creates only one variant" do
      expect {
        create(factory)
      }.to change { Spree::Variant.count }.from(0).to(1)
    end
  end

  describe 'on demand variant' do
    let(:factory) { :on_demand_variant }

    it_behaves_like 'a working factory'
  end

  describe 'on demand master variant' do
    let(:factory) { :on_demand_master_variant }

    it_behaves_like 'a working factory'
  end
end

Version data entries

48 entries across 48 versions & 2 rubygems

Version Path
solidus_core-2.10.5 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
solidus_core-2.10.3 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
solidus_core-2.10.2 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
solidus_core-2.9.6 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
solidus_core-2.8.6 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
solidus_core-2.10.1 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
solidus_core-2.9.5 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
solidus_core-2.10.0 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
solidus_core-2.9.4 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
solidus_core-2.6.6 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
solidus_core-2.7.4 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
solidus_core-2.8.5 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
solidus_core-2.9.3 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
solidus_core-2.9.2 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
solidus_core-2.10.0.beta1 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
solidus_core-2.7.3 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
solidus_core-2.6.5 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
solidus_core-2.9.1 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
solidus_core-2.9.0 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb
solidus_core-2.9.0.rc.1 spec/lib/spree/core/testing_support/factories/variant_factory_spec.rb