Sha256: cd9e12354e4ddcf088f54c3db8c99d4675ba7db89c42e9f3edf7f7dbe2529676

Contents?: true

Size: 527 Bytes

Versions: 5

Compression:

Stored size: 527 Bytes

Contents

require 'dry/logic/rule'

RSpec.describe Dry::Logic::Rule::Each do
  include_context 'predicates'

  subject(:address_rule) do
    Dry::Logic::Rule::Each.new(:name, is_string)
  end

  let(:is_string) { Dry::Logic::Rule::Value.new(:name, str?) }

  describe '#call' do
    it 'applies its rules to all elements in the input' do
      expect(address_rule.(['Address'])).to be_success

      expect(address_rule.([nil, 'Address'])).to be_failure
      expect(address_rule.([:Address, 'Address'])).to be_failure
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
dry-logic-0.1.4 spec/unit/rule/each_spec.rb
dry-logic-0.1.3 spec/unit/rule/each_spec.rb
dry-logic-0.1.2 spec/unit/rule/each_spec.rb
dry-logic-0.1.1 spec/unit/rule/each_spec.rb
dry-logic-0.1.0 spec/unit/rule/each_spec.rb