Sha256: 24da9c6e579a3ffac984b8c3d4923f7fb40f05fcd9c10a1f2a5550c766767da4

Contents?: true

Size: 1.15 KB

Versions: 11

Compression:

Stored size: 1.15 KB

Contents

require 'rails_helper'

RSpec.describe Spree::Order::NumberGenerator do
  subject { described_class.new.generate }

  it { is_expected.to be_a(String) }

  describe 'length' do
    let(:default_length) do
      Spree::Order::ORDER_NUMBER_LENGTH + Spree::Order::ORDER_NUMBER_PREFIX.length
    end

    it { expect(subject.length).to eq default_length }

    context "when length option is 5" do
      let(:option_length) { 5 + Spree::Order::ORDER_NUMBER_PREFIX.length }

      subject { described_class.new(length: 5).generate }

      it "should be 5 plus default prefix length" do
        expect(subject.length).to eq option_length
      end
    end
  end

  context "when letters option is true" do
    subject { described_class.new(letters: true).generate }

    it "generates order number including letters" do
      is_expected.to match /[A-Z]/
    end
  end

  describe 'prefix' do
    it { is_expected.to match /^#{Spree::Order::ORDER_NUMBER_PREFIX}/ }

    context "when prefix option is 'P'" do
      subject { described_class.new(prefix: 'P').generate }

      it "generates order number prefixed with 'P'" do
        is_expected.to match /^P/
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
solidus_core-2.5.2 spec/models/spree/order/number_generator_spec.rb
solidus_core-2.5.1 spec/models/spree/order/number_generator_spec.rb
solidus_core-2.5.0 spec/models/spree/order/number_generator_spec.rb
solidus_core-2.5.0.rc1 spec/models/spree/order/number_generator_spec.rb
solidus_core-2.5.0.beta2 spec/models/spree/order/number_generator_spec.rb
solidus_core-2.5.0.beta1 spec/models/spree/order/number_generator_spec.rb
solidus_core-2.4.2 spec/models/spree/order/number_generator_spec.rb
solidus_core-2.4.1 spec/models/spree/order/number_generator_spec.rb
solidus_core-2.4.0 spec/models/spree/order/number_generator_spec.rb
solidus_core-2.4.0.rc1 spec/models/spree/order/number_generator_spec.rb
solidus_core-2.4.0.beta1 spec/models/spree/order/number_generator_spec.rb