Sha256: 3a204351d31f7ea7862ddef0bbe2bb6db6d4306c9b4740ec6d2076e3cd1ac7be

Contents?: true

Size: 673 Bytes

Versions: 6

Compression:

Stored size: 673 Bytes

Contents

# encoding: utf-8

require 'spec_helper'

describe Algebra::Rename::Aliases, '.new' do
  subject { object.new(aliases) }

  let(:id)     { Attribute::Integer.new(:id)  }
  let(:uid)    { Attribute::Integer.new(:uid) }
  let(:object) { described_class              }

  context 'when aliases are unique' do
    let(:aliases)  { { id => id.rename(:other_id), uid => uid.rename(:other_uid) } }

    it { should be_instance_of(object) }
  end

  context 'when aliases are duplicated' do
    let(:aliases)  { { id => id.rename(:other), uid => uid.rename(:other) } }

    specify { expect { subject }.to raise_error(DuplicateAliasError, 'the aliases must be unique') }
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
axiom-0.2.0 spec/unit/axiom/algebra/rename/aliases/class_methods/new_spec.rb
axiom-0.1.1 spec/unit/axiom/algebra/rename/aliases/class_methods/new_spec.rb
axiom-0.1.0 spec/unit/axiom/algebra/rename/aliases/class_methods/new_spec.rb
veritas-0.0.7 spec/unit/veritas/algebra/rename/aliases/class_methods/new_spec.rb
veritas-0.0.6 spec/unit/veritas/algebra/rename/aliases/class_methods/new_spec.rb
veritas-0.0.5 spec/unit/veritas/algebra/rename/aliases/class_methods/new_spec.rb