Sha256: 82df2b09977a26f90a0949653987f778e389a96d62f0305e81539f09bdb15944

Contents?: true

Size: 1.43 KB

Versions: 13

Compression:

Stored size: 1.43 KB

Contents

require "test_helper"

class CallTest < Minitest::Spec
  describe "::call" do
    class Create < Trailblazer::Operation
      step ->(*) { true }
      def inspect
        "#{@skills.inspect}"
      end
    end

    it { Create.().must_be_instance_of Trailblazer::Operation::Railway::Result }

    # it { Create.({}).inspect.must_equal %{<Result:true <Skill {} {\"params\"=>{}} {\"pipetree\"=>[>operation.new]}> >} }
    # it { Create.(name: "Jacob").inspect.must_equal %{<Result:true <Skill {} {\"params\"=>{:name=>\"Jacob\"}} {\"pipetree\"=>[>operation.new]}> >} }
    # it { Create.({ name: "Jacob" }, { policy: Object }).inspect.must_equal %{<Result:true <Skill {} {:policy=>Object, \"params\"=>{:name=>\"Jacob\"}} {\"pipetree\"=>[>operation.new]}> >} }

    #---
    # success?
    class Update < Trailblazer::Operation
      step ->(options, **) { options[:result] }
    end

    # operation success
    it do
      result = Update.(result: true)

      result.success?.must_equal true

      result.event.must_be_instance_of Trailblazer::Operation::Railway::End::Success
      result.event.must_equal Update.outputs[:success].signal
    end

    # operation failure
    it do
      result = Update.(result: false)

      result.success?.must_equal false
      result.failure?.must_equal true

      result.event.must_be_instance_of Trailblazer::Operation::Railway::End::Failure
      result.event.must_equal Update.outputs[:failure].signal
    end

  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
trailblazer-operation-0.4.1 test/call_test.rb
trailblazer-operation-0.4.0 test/call_test.rb
trailblazer-operation-0.3.1 test/call_test.rb
trailblazer-operation-0.3.0 test/call_test.rb
trailblazer-operation-0.2.5 test/call_test.rb
trailblazer-operation-0.2.4 test/call_test.rb
trailblazer-operation-0.2.3 test/call_test.rb
trailblazer-operation-0.2.2 test/call_test.rb
trailblazer-operation-0.2.1 test/call_test.rb
trailblazer-operation-0.2.0 test/call_test.rb
trailblazer-operation-0.1.3 test/call_test.rb
trailblazer-operation-0.1.2 test/call_test.rb
trailblazer-operation-0.1.1 test/call_test.rb