Sha256: 7be03a20313d05d9ded4fc1b941e8d233e0e4c33ea1adfdaa7aef05e921974c0

Contents?: true

Size: 705 Bytes

Versions: 6

Compression:

Stored size: 705 Bytes

Contents

require 'spec_helper'

describe Spree::Validations::DbMaximumLengthValidator, type: :model do
  context 'when Spree::Product' do
    Spree::Product.class_eval do
      attribute :slug, ActiveRecord::Type::String.new(limit: 255)
      # Slug currently has no validation for maximum length
      validates_with Spree::Validations::DbMaximumLengthValidator, field: :slug
    end
    let(:limit) { 255 }
    let(:product) { Spree::Product.new }
    let(:slug) { "x" * (limit + 1) }

    before do
      product.slug = slug
    end

    it 'should maximum validate slug' do
      product.valid?
      expect(product.errors[:slug]).to include(I18n.t("errors.messages.too_long", count: limit))
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
solidus_core-1.3.2 spec/models/spree/validations/db_maximum_length_validator_spec.rb
solidus_core-1.3.1 spec/models/spree/validations/db_maximum_length_validator_spec.rb
solidus_core-1.3.0 spec/models/spree/validations/db_maximum_length_validator_spec.rb
solidus_core-1.3.0.rc2 spec/models/spree/validations/db_maximum_length_validator_spec.rb
solidus_core-1.3.0.rc1 spec/models/spree/validations/db_maximum_length_validator_spec.rb
solidus_core-1.3.0.beta1 spec/models/spree/validations/db_maximum_length_validator_spec.rb