Passed
Pull Request — master (#9)
by Iakov
03:53
created

AddWhereStepTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 22
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testRequiresBefore() 0 4 1
A testExecute() 0 14 1
1
<?php
2
3
namespace Kami\ApiCoreBundle\Tests\RequestProcessor\Step\Common;
4
5
use Doctrine\ORM\QueryBuilder;
6
use Kami\ApiCoreBundle\RequestProcessor\Step\Common\BuildSelectQueryStep;
7
use Kami\ApiCoreBundle\RequestProcessor\Step\Item\AddWhereStep;
8
use PHPUnit\Framework\TestCase;
9
use Symfony\Component\HttpFoundation\Request;
10
use Kami\ApiCoreBundle\RequestProcessor\ProcessorResponse;
11
12
class AddWhereStepTest extends TestCase
13
{
14
    public function testRequiresBefore()
15
    {
16
        $step = new AddWhereStep();
17
        $this->assertEquals([BuildSelectQueryStep::class], $step->requiresBefore());
18
    }
19
20
    public function testExecute()
21
    {
22
        $queryBuilderMock = $this->createMock(QueryBuilder::class);
23
        $queryBuilderMock->expects($this->any())->method('where')->willReturn($queryBuilderMock);
24
        $queryBuilderMock->expects($this->any())->method('setParameter')->willReturn($queryBuilderMock);
25
        $queryBuilderMock->expects($this->any())->method('setMaxResults')->willReturn($queryBuilderMock);
26
        $step = new AddWhereStep();
27
        $request = new Request();
28
        $step->setRequest($request);
29
        $step->setPreviousResponse(new ProcessorResponse($request, ['query_builder' => $queryBuilderMock]));
30
31
        $response = $step->execute();
32
        $this->assertInstanceOf(ProcessorResponse::class, $response);
33
        $this->assertInstanceOf(QueryBuilder::class, $response->getData()['query_builder']);
34
    }
35
}
36