Sha256: 0a31fcc23d1f1b5bd917cb4f93d1abac5d3101fcfe30a0c780e287f280acb8b4

Contents?: true

Size: 909 Bytes

Versions: 3

Compression:

Stored size: 909 Bytes

Contents

require 'spec_helper'

describe 'Yema::Virtus::Rule::Length' do

  subject { described_class.new(name: value).errors }

  context "fixed length" do
    let(:described_class) do
      Class.new do
        include Yema::Virtus::Validations
        attribute :name, String, strict: :none, length: 5
        self
      end
    end

    it_behaves_like "valid resource", "abcde"
    it_behaves_like "valid resource", 12345
    it_behaves_like "invalid resource", "a"
    it_behaves_like "invalid resource", 5
  end

  context "range length" do
    let(:described_class) do
      Class.new do
        include Yema::Virtus::Validations
        attribute :name, String, strict: :none, length: 2..5
        self
      end
    end

    it_behaves_like "valid resource", "abcde"
    it_behaves_like "valid resource", "abc"
    it_behaves_like "valid resource", 5343
    it_behaves_like "invalid resource", "a"
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
yema-0.0.3 spec/integration/virtus/length_spec.rb
yema-0.0.2 spec/integration/virtus/length_spec.rb
yema-0.0.1 spec/integration/virtus/length_spec.rb