Passed
Pull Request — master (#57)
by Matthew
07:36
created

QueueControllerTest   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 116
Duplicated Lines 24.14 %

Coupling/Cohesion

Components 1
Dependencies 5

Importance

Changes 0
Metric Value
wmc 7
lcom 1
cbo 5
dl 28
loc 116
rs 10
c 0
b 0
f 0

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
<?php
2
3
namespace Dtc\QueueBundle\Tests\Controller;
4
5
use Dtc\QueueBundle\Controller\QueueController;
6
use PHPUnit\Framework\TestCase;
7
use Symfony\Component\HttpFoundation\Request;
8
use Symfony\Component\HttpFoundation\Response;
9
use Symfony\Component\HttpFoundation\StreamedResponse;
10
11
class QueueControllerTest extends TestCase
12
{
13
    use ControllerTrait;
14
15
    public function testStatusAction()
16
    {
17
        $container = $this->getContainerOrm();
18
        $queueController = new QueueController();
19
        $queueController->setContainer($container);
20
        $response = $queueController->statusAction();
21
        self::assertArrayHasKey('status', $response);
22
        $this->runJsCssTest($response);
23
24
        $container = $this->getContainerOdm();
25
        $queueController = new QueueController();
26
        $queueController->setContainer($container);
27
        $response = $queueController->statusAction();
28
        self::assertArrayHasKey('status', $response);
29
        $this->runJsCssTest($response);
30
    }
31
32
    public function testJobsAction()
33
    {
34
        $container = $this->getContainerOrm();
35
        $queueController = new QueueController();
36
        $queueController->setContainer($container);
37
        $response = $queueController->jobsAction();
38
        $this->runJsCssTest($response);
39
40
        $container = $this->getContainerOdm();
41
        $queueController = new QueueController();
42
        $queueController->setContainer($container);
43
        $response = $queueController->jobsAction();
44
        $this->runJsCssTest($response);
45
    }
46
47
    public function testRunsAction()
48
    {
49
        $container = $this->getContainerOrm();
50
        $queueController = new QueueController();
51
        $queueController->setContainer($container);
52
        $response = $queueController->runsAction();
53
        self::assertTrue($response instanceof Response);
54
55
        $container = $this->getContainerOdm();
56
        $queueController = new QueueController();
57
        $queueController->setContainer($container);
58
        $response = $queueController->runsAction();
59
        self::assertTrue($response instanceof Response);
60
    }
61
62
    public function testAllJobsAction()
63
    {
64
        $container = $this->getContainerOrm();
65
        $queueController = new QueueController();
66
        $queueController->setContainer($container);
67
        $response = $queueController->jobsAllAction();
68
        self::assertTrue($response instanceof Response);
69
70
        $container = $this->getContainerOdm();
71
        $queueController = new QueueController();
72
        $queueController->setContainer($container);
73
        $response = $queueController->jobsAllAction();
74
        self::assertTrue($response instanceof Response);
75
    }
76
77
    public function testJobsRunningAction()
78
    {
79
        $container = $this->getContainerOrm();
80
        $queueController = new QueueController();
81
        $queueController->setContainer($container);
82
        $response = $queueController->runningJobsAction();
83
        $this->runJsCssTest($response);
84
    }
85
86
    public function testWorkersAction()
87
    {
88
        $container = $this->getContainerOrm();
89
        $queueController = new QueueController();
90
        $queueController->setContainer($container);
91
        $response = $queueController->workersAction();
92
        self::assertArrayHasKey('workers', $response);
93
        $this->runJsCssTest($response);
94
    }
95
96
    public function testArchiveJobsAction()
97
    {
98
        $container = $this->getContainerOrm();
99
        $queueController = new QueueController();
100
        $queueController->setContainer($container);
101
        $response = $queueController->archiveAction(new Request());
102
        self::assertNotNull($response);
103
        self::assertTrue($response instanceof StreamedResponse);
104
105
        $request = new Request();
106
        $request->query->set('workerName', 'fibonacci');
107
        $request->query->set('method', 'fibonacci');
108
        $response = $queueController->archiveAction($request);
109
        self::assertNotNull($response);
110
        self::assertTrue($response instanceof StreamedResponse);
111
112
        $container = $this->getContainerOdm();
113
        $queueController = new QueueController();
114
        $queueController->setContainer($container);
115
        $response = $queueController->archiveAction(new Request());
116
        self::assertNotNull($response);
117
        self::assertTrue($response instanceof StreamedResponse);
118
119
        $request = new Request();
120
        $request->query->set('workerName', 'fibonacci');
121
        $request->query->set('method', 'fibonacci');
122
        $response = $queueController->archiveAction($request);
123
        self::assertNotNull($response);
124
        self::assertTrue($response instanceof StreamedResponse);
125
    }
126
}
127