Sha256: 95944bc794c231b63cfef7f9a50e7859c168b350c76eddb473f2903a8dae4ea0

Contents?: true

Size: 915 Bytes

Versions: 12

Compression:

Stored size: 915 Bytes

Contents

require "test_helper"

class ClassDependenciesTest < Minitest::Spec
  #- Operation[] and Operation[]=

  class Index < Trailblazer::Operation
    extend ClassDependencies

    self["model.class"] = Module

    step ->(options, **) { options["a"] = options["model.class"] }
  end

  it { Index.({}).inspect("a", "model.class").must_equal %{<Result:true [Module, Module] >} }

  it "creates separate ctx for circuit interface" do
    signal, (ctx, _) = Index.([{}, {}], {})

    ctx["model.class"].inspect.must_equal %{Module} # FIXME: should this be here?
    ctx[:a].inspect.must_equal %{Module}
  end

  describe "inheritance" do
    it "reader/setter read from separate config" do
      subclass = Class.new(Index)

      subclass["model.class"].must_equal Module
      subclass["model.class"] = Class
      subclass["model.class"].must_equal Class
      Index["model.class"].must_equal Module
    end

  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
trailblazer-operation-0.7.5 test/class_dependencies_test.rb
trailblazer-operation-0.7.4 test/class_dependencies_test.rb
trailblazer-operation-0.7.3 test/class_dependencies_test.rb
trailblazer-operation-0.7.2 test/class_dependencies_test.rb
trailblazer-operation-0.7.1 test/class_dependencies_test.rb
trailblazer-operation-0.7.0 test/class_dependencies_test.rb
trailblazer-operation-0.6.6 test/class_dependencies_test.rb
trailblazer-operation-0.6.5 test/class_dependencies_test.rb
trailblazer-operation-0.6.4 test/class_dependencies_test.rb
trailblazer-operation-0.6.3 test/class_dependencies_test.rb
trailblazer-operation-0.6.2 test/class_dependencies_test.rb
trailblazer-operation-0.6.1 test/class_dependencies_test.rb