Sha256: c4806c35a95d6100c3ccb008b73d489bd322d684d608bc9281faa468abce10f4
Contents?: true
Size: 1.21 KB
Versions: 3
Compression:
Stored size: 1.21 KB
Contents
require 'helper' class ContextTest < NeoDCICase class DummyContext < Neo::DCI::Context def initialize(&block) @block = block end def call(result) @block.call(result) end end let(:data) { {:foo => :bar } } let(:error) { RuntimeError.new } test "initialize is private" do assert_raises NoMethodError do DummyContext.new end end test "raises not implement error" do assert_raises NotImplementedError do Class.new(Neo::DCI::Context).call end end test "raises unprocessed error if result is not processed" do assert_raises Neo::DCI::Context::UnprocessedError do Class.new(Neo::DCI::Context) do def call(result); end end.call end end test "returns context result if success" do result = DummyContext.call do |result| result.success!(data) end assert result.success? refute result.failure? assert_equal :bar, result.data.foo end test "returns context result if failure" do result = DummyContext.call do |result| result.failure!(error, data) end assert result.failure? refute result.success? assert_same error, result.error assert_equal :bar, result.data.foo end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
neo-dci-0.2.0 | test/context_test.rb |
neo-dci-0.1.0 | test/context_test.rb |
neo-dci-0.0.1 | test/context_test.rb |