Sha256: a0c1662cb7ac9406b0a4b11ce9e68c44d71d00afc9e5519ee683390555dcd8b5

Contents?: true

Size: 1.1 KB

Versions: 3

Compression:

Stored size: 1.1 KB

Contents

describe Spree::ShippingMatrix do
  let(:attrs) { { name: 'UK next day' } }
  subject { described_class.create(attrs) }

  context 'when created' do
    context 'and all required attributes provided' do
      it { is_expected.to be_valid }
    end

    context 'and no name provided' do
      before(:each) { attrs.delete(:name) }
      it { is_expected.to be_invalid }
    end
  end

  context '#rules scope sorting' do
    let(:matrix) { described_class.create(attrs) }

    subject { matrix.rules }

    let(:rule_with_lowest_min_line_item_total) do
      create(:shipping_matrix_rule, matrix: matrix,
                                    min_line_item_total: 50)
    end

    let(:rule_with_highest_min_line_item_total) do
      create(:shipping_matrix_rule, matrix: matrix,
                                    min_line_item_total: 100)
    end

    before(:each) do
      rule_with_lowest_min_line_item_total
      rule_with_highest_min_line_item_total
    end

    it { is_expected.to start_with(rule_with_highest_min_line_item_total) }
    it { is_expected.to end_with(rule_with_lowest_min_line_item_total) }
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
spree_shipping_matrix-0.2.1 spec/unit/models/shipping_matrix_spec.rb
spree_shipping_matrix-0.2.0 spec/unit/models/shipping_matrix_spec.rb
spree_shipping_matrix-0.1.0 spec/unit/models/shipping_matrix_spec.rb