Sha256: 2672f539da0acb6ab22c7c9b5fafdad8c289c80d13a2faaa2e8e3a0eb33e12c3

Contents?: true

Size: 663 Bytes

Versions: 7

Compression:

Stored size: 663 Bytes

Contents

require 'spec_helper'

describe 'Commands / Error handling' do
  include_context 'container'
  include_context 'users and tasks'

  before do
    configuration.relation(:users)
    configuration.commands(:users) { define(:create) }
  end

  subject(:users) { container.commands.users }

  it 'rescues from ROM::CommandError' do
    result = false
    expect(users.try { raise ROM::CommandError } >-> _test { result = true })
      .to be_instance_of(ROM::Commands::Result::Failure)
    expect(result).to be(false)
  end

  it 'raises other errors' do
    expect { users.try { raise ArgumentError, 'test' } }
      .to raise_error(ArgumentError, 'test')
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rom-2.0.2 spec/integration/commands/error_handling_spec.rb
rom-2.0.1 spec/integration/commands/error_handling_spec.rb
rom-2.0.0 spec/integration/commands/error_handling_spec.rb
rom-1.0.0 spec/integration/commands/error_handling_spec.rb
rom-1.0.0.rc1 spec/integration/commands/error_handling_spec.rb
rom-1.0.0.beta2 spec/integration/commands/error_handling_spec.rb
rom-1.0.0.beta1 spec/integration/commands/error_handling_spec.rb