Sha256: 9d2ac1bd9052e1810cab0412bf23a02ea5d12321c6f934e980f049e0d64718ed
Contents?: true
Size: 890 Bytes
Versions: 6
Compression:
Stored size: 890 Bytes
Contents
RSpec.describe Dry::Transaction::StepAdapters::Raw, adapter: true do subject { described_class.new } let(:options) { { step_name: "unit" } } describe "#call" do context "when the result of the operation is NOT a Dry::Monads::Result" do let(:operation) { -> (input) { input.upcase } } it "raises an InvalidResultError" do expect { subject.(operation, options, "input") }.to raise_error( Dry::Transaction::InvalidResultError, "step +unit+ must return a Result object" ) end end context "when the result of the operation is a Success value" do let(:operation) { -> (input) { Success(input.upcase) } } it "return a Success value" do expect(subject.(operation, options, "input")).to eql(Success("INPUT")) end end end end
Version data entries
6 entries across 6 versions & 1 rubygems