test/class_dependencies_test.rb in trailblazer-operation-0.6.0 vs test/class_dependencies_test.rb in trailblazer-operation-0.6.1

- old
+ new

@@ -1,15 +1,34 @@ require "test_helper" class ClassDependenciesTest < Minitest::Spec #- Operation[] and Operation[]= - # class Index < Trailblazer::Operation - # extend ClassDependencies + class Index < Trailblazer::Operation + extend ClassDependencies - # self["model.class"] = Module + self["model.class"] = Module - # step ->(options, **) { options["a"] = options["model.class"] } - # end + step ->(options, **) { options["a"] = options["model.class"] } + end - it { skip "https://trello.com/c/t8bUJlqb/25-op-class-dependencies"; Index.({}).inspect("a", "model.class").must_equal %{<Result:true [Module, Module] >} } + 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