Completed
Push — master ( 746635...1250b5 )
by Pavel
04:18
created

DeleteControllerTest::testDeleteAction()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 36
Code Lines 26

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 36
rs 8.8571
cc 1
eloc 26
nc 1
nop 1
1
<?php
2
3
namespace ScayTrase\Api\Cruds\Tests\Controller;
4
5
use ScayTrase\Api\Cruds\Tests\AbstractCrudsWebTest;
6
use ScayTrase\Api\Cruds\Tests\Fixtures\Common\Entity\MyEntity;
7
8
class DeleteControllerTest extends AbstractCrudsWebTest
9
{
10
    /**
11
     * @dataProvider getKernelClasses
12
     *
13
     * @param $kernel
14
     */
15
    public function testDeleteAction($kernel)
16
    {
17
        self::createAndBootKernel($kernel);
18
        self::configureDb();
19
20
        $em     = self::getEntityManager();
21
        $entity = new MyEntity('my-test-secret');
22
        $em->persist($entity);
23
        $parent = new MyEntity('non-recursing-entity');
24
        $em->persist($parent);
25
        $entity->setParent($parent);
26
        $em->flush();
27
        $em->clear();
28
29
        $client = self::createClient();
30
        $client->request(
31
            'POST',
32
            '/api/entity/my-entity/delete',
33
            ['identifier' => $entity->getId()],
34
            [],
35
            ['HTTP_CONTENT_TYPE' => 'application/json']
36
        );
37
        $response = $client->getResponse();
38
39
        self::assertTrue($response->isSuccessful());
40
        $data = json_decode($response->getContent());
41
42
        self::assertEquals(JSON_ERROR_NONE, json_last_error());
43
        self::assertNull($data);
44
45
        $em->clear();
46
        $parent = $em->find(MyEntity::class, $parent->getId());
47
        self::assertCount(0, $parent->getChildren());
48
49
        self::assertNull($em->find(MyEntity::class, $entity->getId()));
50
    }
51
}
52