Sha256: cb9ed6b5bbdf409585eb3cf2fa659c7cd8f3305ed87d9b9d8d933789bb29e1c6

Contents?: true

Size: 1.35 KB

Versions: 11

Compression:

Stored size: 1.35 KB

Contents

require_relative '../helper/copyable_spec_helper'

describe Copyable::ColumnChecker do

  it 'should not throw an error if all columns are present' do
    block = Proc.new do
      columns({
        name:       :copy,
        kind:       :copy,
        birth_year: :copy,
      })
    end
    column_checker = Copyable::ColumnChecker.new(CopyablePet)
    expect { column_checker.verify!(block) }.to_not raise_error
  end

  it 'should throw an error if columns are empty' do
    block = Proc.new do
      columns({})
    end
    column_checker = Copyable::ColumnChecker.new(CopyablePet)
    expect { column_checker.verify!(block) }.to raise_error(Copyable::ColumnError)
  end

  it 'should throw an error if a column is missing' do
    block = Proc.new do
      columns({
        name:       :copy,
        birth_year: :copy,
      })
    end
    column_checker = Copyable::ColumnChecker.new(CopyablePet)
    expect { column_checker.verify!(block) }.to raise_error(Copyable::ColumnError)
  end

  it 'should throw an error if an unrecognized column is present' do
    block = Proc.new do
      columns({
        name:       :copy,
        kind:       :copy,
        intruder:   :copy,
        birth_year: :copy,
      })
    end
    column_checker = Copyable::ColumnChecker.new(CopyablePet)
    expect { column_checker.verify!(block) }.to raise_error(Copyable::ColumnError)
  end

end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
copyable-0.3.5 spec/syntax_checking/column_checker_spec.rb
copyable-0.3.3 spec/syntax_checking/column_checker_spec.rb
copyable-0.3.2 spec/syntax_checking/column_checker_spec.rb
copyable-0.3.1 spec/syntax_checking/column_checker_spec.rb
copyable-0.3.0 spec/syntax_checking/column_checker_spec.rb
copyable-0.2.0 spec/syntax_checking/column_checker_spec.rb
copyable-0.1.2 spec/syntax_checking/column_checker_spec.rb
copyable-0.1.1 spec/syntax_checking/column_checker_spec.rb
copyable-0.1.0 spec/syntax_checking/column_checker_spec.rb
copyable-0.0.2 spec/syntax_checking/column_checker_spec.rb
copyable-0.0.1 spec/syntax_checking/column_checker_spec.rb