Sha256: 364f97482a38fc026c3c7a6909c743179da5f2b3ce6f4242a3b1618e67a90b75

Contents?: true

Size: 1.02 KB

Versions: 2

Compression:

Stored size: 1.02 KB

Contents

# frozen_string_literal: true

require "spec_helper"

RSpec.describe SolidusConfigurableKits::Requirement do
  it { is_expected.to belong_to :product }
  it { is_expected.to belong_to :required_product }
  it { is_expected.to respond_to :description }
  it { is_expected.to respond_to :optional }

  describe "validations" do
    subject(:requirement) { build(:kit_requirement, required_product: required_product) }

    let(:required_product) { create(:product) }
    let(:price) { create(:price, kit_item: true) }

    before do
      required_product.master.prices << price
    end

    it { is_expected.to be_valid }

    context "when there is no price for kit items on the required product" do
      let(:price) { create(:price, kit_item: false) }

      it { is_expected.not_to be_valid }

      it "has the right error message" do
        requirement.valid?
        expect(requirement.errors.full_messages).to include(
          "Required Product needs to have at least one variant with a kit price"
        )
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
solidus_configurable_kits-0.1.1 spec/models/solidus_configurable_kits/requirement_spec.rb
solidus_configurable_kits-0.1.0 spec/models/solidus_configurable_kits/requirement_spec.rb