public function testSkippedGroups() { $context = new Context(); $this->assertFalse($context->hasSkippedGroups()); $this->assertSame([], $context->getSkippedGroups()); $this->assertNull($context->get(Context::SKIPPED_GROUPS)); $context->skipGroup('test'); $this->assertTrue($context->hasSkippedGroups()); $this->assertEquals(['test'], $context->getSkippedGroups()); $this->assertEquals(['test'], $context->get(Context::SKIPPED_GROUPS)); $context->skipGroup('test1'); $this->assertTrue($context->hasSkippedGroups()); $this->assertEquals(['test', 'test1'], $context->getSkippedGroups()); $this->assertEquals(['test', 'test1'], $context->get(Context::SKIPPED_GROUPS)); $context->skipGroup('test'); $this->assertTrue($context->hasSkippedGroups()); $this->assertEquals(['test', 'test1'], $context->getSkippedGroups()); $this->assertEquals(['test', 'test1'], $context->get(Context::SKIPPED_GROUPS)); $context->undoGroupSkipping('test'); $this->assertTrue($context->hasSkippedGroups()); $this->assertEquals(['test1'], $context->getSkippedGroups()); $this->assertEquals(['test1'], $context->get(Context::SKIPPED_GROUPS)); $context->undoGroupSkipping('test1'); $this->assertFalse($context->hasSkippedGroups()); $this->assertSame([], $context->getSkippedGroups()); $this->assertNull($context->get(Context::SKIPPED_GROUPS)); }
public function testSkipGroupApplicableChecker() { $context = new Context(); $context->setAction('action1'); $processors = ['action1' => [['processor' => 'processor1', 'attributes' => ['group' => 'group1']], ['processor' => 'processor2', 'attributes' => ['group' => 'group2']], ['processor' => 'processor3', 'attributes' => ['group' => 'group2']], ['processor' => 'processor4', 'attributes' => ['group' => 'group3']]]]; $iterator = new ProcessorIterator($processors, $context, $this->getApplicableChecker(), $this->getProcessorFactory(['processor1' => function (ContextInterface $context) { $context->skipGroup('group2'); }])); $this->assertProcessors(['processor1', 'processor4'], $iterator, $context); }