Sha256: 8d5ce20dd8a7142a037395678b96d40e7ab746ba284461abb786142783a9ee40
Contents?: true
Size: 1.35 KB
Versions: 25
Compression:
Stored size: 1.35 KB
Contents
# frozen_string_literal: true module Dynflow module Testing class DummyExecutionPlan extend Mimic mimic! ExecutionPlan attr_reader :id, :planned_plan_steps, :planned_run_steps, :planned_finalize_steps def initialize @id = Testing.get_id.to_s @planned_plan_steps = [] @planned_run_steps = [] @planned_finalize_steps = [] @planned_action_stubbers = {} end def world @world ||= DummyWorld.new end # Allows modify the DummyPlannedAction returned by plan_action def stub_planned_action(klass, &block) @planned_action_stubbers[klass] = block end def add_plan_step(klass, _) dummy_planned_action(klass).tap do |action| @planned_plan_steps << action end end def add_run_step(action) @planned_run_steps << action action end def add_finalize_step(action) @planned_finalize_steps << action action end def dummy_planned_action(klass) DummyPlannedAction.new(klass).tap do |action| if planned_action_stubber = @planned_action_stubbers[klass] planned_action_stubber.call(action) end end end def switch_flow(*args, &block) block.call end end end end
Version data entries
25 entries across 25 versions & 1 rubygems