MultipleConsumerCommandTest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 26
c 1
b 0
f 0
dl 0
loc 46
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 16 1
A testInputsDefinitionCommand() 0 22 1
1
<?php
2
3
namespace OldSound\RabbitMqBundle\Tests\Command;
4
5
use OldSound\RabbitMqBundle\Command\MultipleConsumerCommand;
6
use Symfony\Component\Console\Input\InputOption;
7
8
class MultipleConsumerCommandTest extends BaseCommandTest
9
{
10
11
    protected function setUp(): void
12
    {
13
        parent::setUp();
14
        $this->definition->expects($this->any())
15
            ->method('getOptions')
16
            ->will($this->returnValue(array(
17
                new InputOption('--verbose', '-v', InputOption::VALUE_NONE, 'Increase verbosity of messages.'),
18
                new InputOption('--env', '-e', InputOption::VALUE_REQUIRED, 'The Environment name.', 'dev'),
19
                new InputOption('--no-debug', null, InputOption::VALUE_NONE, 'Switches off debug mode.'),
20
            )));
21
        $this->application->expects($this->once())
22
            ->method('getHelperSet')
23
            ->will($this->returnValue($this->helperSet));
24
25
        $this->command = new MultipleConsumerCommand();
26
        $this->command->setApplication($this->application);
27
    }
28
29
    /**
30
     * testInputsDefinitionCommand
31
     */
32
    public function testInputsDefinitionCommand()
33
    {
34
        // check argument
35
        $definition = $this->command->getDefinition();
36
        $this->assertTrue($definition->hasArgument('name'));
37
        $this->assertTrue($definition->getArgument('name')->isRequired()); // Name is required to find the service
38
39
        $this->assertTrue($definition->hasArgument('context'));
40
        $this->assertFalse($definition->getArgument('context')->isRequired()); // Context is required for the queue options provider
41
42
        //check options
43
        $this->assertTrue($definition->hasOption('messages'));
44
        $this->assertTrue($definition->getOption('messages')->isValueOptional()); // It should accept value
45
46
        $this->assertTrue($definition->hasOption('route'));
47
        $this->assertTrue($definition->getOption('route')->isValueOptional()); // It should accept value
48
49
        $this->assertTrue($definition->hasOption('without-signals'));
50
        $this->assertFalse($definition->getOption('without-signals')->acceptValue()); // It shouldn't accept value because it is a true/false input
51
52
        $this->assertTrue($definition->hasOption('debug'));
53
        $this->assertFalse($definition->getOption('debug')->acceptValue()); // It shouldn't accept value because it is a true/false input
54
    }
55
}
56