Sha256: d7bfd6ff0b38757b9b75673d8396a39de45022435529c231f61b74f60e04de37
Contents?: true
Size: 1.54 KB
Versions: 35
Compression:
Stored size: 1.54 KB
Contents
# frozen_string_literal: true require 'zizia/always_invalid_validator' shared_examples 'a Zizia::Parser' do describe '#file' do it 'is an accessor' do expect { parser.file = :a_new_file } .to change { parser.file } .to(:a_new_file) end end describe '#records' do it 'yields records' do unless described_class == Zizia::Parser expect { |b| parser.records(&b) } .to yield_control.exactly(record_count).times end end end describe '#valid?' do it 'is valid' do expect(parser).to be_valid end context 'when not valid' do before do parser.validators = [Zizia::AlwaysInvalidValidator.new] end it 'is invalid' do expect { parser.validate } .to change { parser.valid? } .to be_falsey end end end describe '#validate' do it 'is true when valid' do expect(parser.validate).to be_truthy end context 'when not valid' do before do parser.validators = [Zizia::AlwaysInvalidValidator.new] end it 'is invalid' do expect(parser.validate).to be_falsey end end end describe '#validate!' do it 'is true when valid' do expect(parser.validate).to be_truthy end context 'when not valid' do before do parser.validators = [Zizia::AlwaysInvalidValidator.new] end it 'raises a ValidationError' do expect { parser.validate! } .to raise_error Zizia::Parser::ValidationError end end end end
Version data entries
35 entries across 35 versions & 1 rubygems