Sha256: f4c8ecbc0206b59a3b8f3b38bb063d3a12d149a15a8147fb9103d2cd29f274a9

Contents?: true

Size: 1.67 KB

Versions: 11

Compression:

Stored size: 1.67 KB

Contents

require_relative '../helper/copyable_spec_helper'

describe Copyable::DeclarationChecker do

  it 'should throw an error if there are no declarations' do
    block = Proc.new {}
    expect { subject.verify!(block) }.to raise_error(Copyable::DeclarationError)
  end

  it 'should not throw an error if all required declarations are present' do
    block = Proc.new do
      disable_all_callbacks_and_observers_except_validate
      columns
      associations
    end
    expect { subject.verify!(block) }.to_not raise_error
  end

  it 'should not throw an error if all declarations are present' do
    block = Proc.new do
      disable_all_callbacks_and_observers_except_validate
      columns
      associations
      after_copy
    end
    expect { subject.verify!(block) }.to_not raise_error
  end

  it 'should throw an error if an unknown declaration is present' do
    block = Proc.new do
      disable_all_callbacks_and_observers_except_validate
      columns
      unknown
      associations
      after_copy
    end
    expect { subject.verify!(block) }.to raise_error(Copyable::DeclarationError)
  end

  it 'should throw an error if a required declaration is missing' do
    block = Proc.new do
      columns
      associations
    end
    expect { subject.verify!(block) }.to raise_error(Copyable::DeclarationError)
    block = Proc.new do
      disable_all_callbacks_and_observers_except_validate
      associations
    end
    expect { subject.verify!(block) }.to raise_error(Copyable::DeclarationError)
    block = Proc.new do
      disable_all_callbacks_and_observers_except_validate
      columns
    end
    expect { subject.verify!(block) }.to raise_error(Copyable::DeclarationError)
  end

end

Version data entries

11 entries across 11 versions & 1 rubygems

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