Sha256: 85f3a0536a828d6499b844af2f8f921ee829f4c65d31f40b42605c760dd91b14

Contents?: true

Size: 1.11 KB

Versions: 17

Compression:

Stored size: 1.11 KB

Contents

require 'spec_helper'

describe ImeiValidator do

  context "has valid format" do
    let(:klass) do
      Class.new do
        include ActiveModel::Validations
        attr_accessor :imei, :name
        validates :imei, imei: true
      end
    end

    subject { klass.new }

    it { should allow_value(356843052637512).for(:imei) }
    it { should allow_value("356843052637512").for(:imei) }
    it { should allow_value("35-684305-2637512").for(:imei) }
    it { should allow_value("35-684305.263.7512").for(:imei) }

    context "value too short" do
      it { should_not allow_value("3568430537512").for(:imei) }
      it { should_not allow_value("3").for(:imei) }
    end

    it "can't be too long" do
      should_not allow_value("35684305263751233").for(:imei)
    end

    context "checksum doesn't match" do
      it { should_not allow_value("356843052637513").for(:imei) }
      it { should_not allow_value("156843052637512").for(:imei) }
    end

    it { should_not allow_value("invalid").for(:imei) }

    it { should ensure_valid_imei_format_of(:imei) }
    it { should_not ensure_valid_imei_format_of(:name) }
  end

end

Version data entries

17 entries across 17 versions & 3 rubygems

Version Path
active_validation-1.0.0 spec/lib/imei_validator_spec.rb
yukonisuru-1.0.0 spec/lib/imei_validator_spec.rb
yukonisuru-0.0.1 spec/lib/imei_validator_spec.rb
flash_validators-3.0.12 spec/lib/imei_validator_spec.rb
flash_validators-3.0.11 spec/lib/imei_validator_spec.rb
flash_validators-3.0.10 spec/lib/imei_validator_spec.rb
flash_validators-3.0.9 spec/lib/imei_validator_spec.rb
flash_validators-3.0.8 spec/lib/imei_validator_spec.rb
flash_validators-3.0.7 spec/lib/imei_validator_spec.rb
flash_validators-3.0.6 spec/lib/imei_validator_spec.rb
flash_validators-3.0.5 spec/lib/imei_validator_spec.rb
flash_validators-3.0.4 spec/lib/imei_validator_spec.rb
flash_validators-3.0.3 spec/lib/imei_validator_spec.rb
flash_validators-3.0.2 spec/lib/imei_validator_spec.rb
flash_validators-3.0.1 spec/lib/imei_validator_spec.rb
flash_validators-3.0.0 spec/lib/imei_validator_spec.rb
flash_validators-1.1.0 spec/lib/imei_validator_spec.rb