Sha256: df7be24eeae1f03a67ae4908fda21f4c5fe0741604e13ffbb3a11b06081aabc9
Contents?: true
Size: 1.12 KB
Versions: 6
Compression:
Stored size: 1.12 KB
Contents
require 'spec_helper' describe 'ROM::CommandRegistry' do subject(:env) { setup.finalize } let(:setup) { ROM.setup(:memory) } let(:users) { env.command(:users) } before do setup.relation(:users) setup.commands(:users) do define(:create) do validator proc { |input| raise(ROM::CommandError) unless input[:name] } end end end describe '#try' do it 'returns a success result object on successful execution' do result = users.try { users.create.call(name: 'Jane') } expect(result).to match_array([{ name: 'Jane' }]) end it 'returns a success result on successful curried-command execution' do result = users.try { users.create.curry(name: 'Jane') } expect(result).to match_array([{ name: 'Jane' }]) end it 'returns a failure result object on failed execution' do result = users.try { users.create.call({}) } expect(result.value).to be(nil) end it 'returns a failure result on unsuccessful curried-command execution' do result = users.try { users.create.curry({}) } expect(result.value).to be(nil) end end end
Version data entries
6 entries across 6 versions & 1 rubygems