Sha256: aea01c0cad9dc9c7c0f82be3196c9be3439e3330e2259ae1d2c990dfd42b64ec

Contents?: true

Size: 675 Bytes

Versions: 3

Compression:

Stored size: 675 Bytes

Contents

require 'spec_helper'

describe Yema::Rule::Inclusion, '#errors' do

  subject { rule.errors(resource) }

  let(:rule)      { described_class.new(attribute, options) }
  let(:resource)  { stub('resource', attribute => value)    }
  let(:attribute) { :foo                                    }

  context "with range options" do
    let(:options) { { within: 3..6 } }

    [3, 5].each do |value|
      it_behaves_like "valid resource", value
    end

    it_behaves_like "invalid resource", 2
  end

  context "with array options" do
    let(:options) { { within: ["a", "b"] } }

    it_behaves_like "valid resource", "a"
    it_behaves_like "invalid resource", "c"
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
yema-0.0.3 spec/integration/rule/inclusion_spec.rb
yema-0.0.2 spec/integration/rule/inclusion_spec.rb
yema-0.0.1 spec/integration/rule/inclusion_spec.rb