Completed
Pull Request — master (#9)
by Iakov
06:26
created

AddWhereStepTest::testRequiresBefore()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 0
dl 0
loc 4
rs 10
c 0
b 0
f 0
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