public function testInvokeFlow() { $flow1 = m::mock(FlowInterface::class); $flow2 = m::mock(FlowInterface::class); $runner = Flow::toAll($flow1, $flow2); $node1 = m::mock(NodeInterface::class); $node2 = m::mock(NodeInterface::class); $node3 = m::mock(NodeInterface::class); $flow1->shouldReceive('flow')->with($node1)->andReturn($node2); $flow2->shouldReceive('flow')->with($node1)->andReturn($node3); $output = call_user_func($runner, $node1); static::assertInstanceOf(NodeCollection::class, $output); static::assertEquals([$node2, $node3], $output->getAll()); }