Completed
Pull Request — dev (#22)
by
unknown
04:13
created

UserControllerTest::testEditAction()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 33
Code Lines 23

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 33
rs 8.8571
cc 1
eloc 23
nc 1
nop 0
1
<?php
2
3
namespace Tests\AppBundle\Controller;
4
5
use AppBundle\Form\User\EditType;
6
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
7
use Symfony\Component\DependencyInjection\ContainerInterface;
8
use Doctrine\ORM\EntityManager;
9
use AppBundle\Entity\User;
10
11
class UserControllerTest extends WebTestCase
12
{
13
    public function testListAction()
14
    {
15
        $client = static::createClient();
16
        $crawler = $client->request('GET', '/users');
0 ignored issues
show
Unused Code introduced by
$crawler is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
17
        $this->assertEquals('302', $client->getResponse()->getStatusCode());
18
        $crawler = $client->request('GET', '/login');
19
        $form = $crawler->selectButton('Login')->form();
20
        $client->submit($form, ['_username' => '[email protected]', '_password' => 'ghjynj']);
21
        $crawler = $client->request('GET', '/users');
0 ignored issues
show
Unused Code introduced by
$crawler is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
22
        $this->assertEquals('200', $client->getResponse()->getStatusCode());
23
    }
24
25
    public function testAddAction()
26
    {
27
        $client = static::createClient();
28
        $crawler = $client->request('GET', '/login');
29
        $form = $crawler->selectButton('Login')->form();
30
        $client->submit($form, ['_username' => '[email protected]', '_password' => 'ghjynj']);
31
32
        $em = static::$kernel->getContainer()
33
            ->get('doctrine')
34
            ->getManager();
35
36
        $usersCount1 = count($em->getRepository('AppBundle:User')->findAll());
37
38
        $crawler = $client->request('GET', '/user/add');
39
        $form = $crawler->selectButton('Register')->form();
40
        //dump($form);
41
        $client->submit($form, [
42
            'registration[lastName]' => 'test',
43
            'registration[firstName]' => 'test',
44
            'registration[email]' => '[email protected]',
45
            'registration[plainPassword][first]' => 'test',
46
            'registration[plainPassword][second]' => 'test',
47
        ]);
48
49
        $usersCount2 = count($em->getRepository('AppBundle:User')->findAll());
50
        $this->assertEquals($usersCount1 + 1, $usersCount2);
51
    }
52
53
    public function testActivationAction()
54
    {
55
        $client = static::createClient();
56
        $crawler = $client->request('GET', '/login');
57
        $form = $crawler->selectButton('Login')->form();
58
        $client->submit($form, ['_username' => '[email protected]', '_password' => 'ghjynj']);
59
60
        $em = static::$kernel->getContainer()
61
            ->get('doctrine')
62
            ->getManager();
63
64
        $crawler = $client->request('GET', '/users');
65
66
        $form = $crawler->filter('table td form')->form();
67
        $url_params = explode('/', $form->getUri());
68
        $userid = $url_params[count($url_params)-1];
69
70
        $client->submit($form, ['activation[enabled]' => false]);
71
        $user = $em->getRepository('AppBundle:User')->findOneBy(array("id" => $userid));
72
73
        $this->assertEquals(false, $user->isEnabled());
74
    }
75
76
    public function testEditAction()
77
    {
78
        $client = static::createClient();
79
        $crawler = $client->request('GET', '/login');
80
        $form = $crawler->selectButton('Login')->form();
81
        $client->submit($form, ['_username' => '[email protected]', '_password' => 'ghjynj']);
82
83
        $em = static::$kernel->getContainer()
84
            ->get('doctrine')
85
            ->getManager();
86
87
        $crawler = $client->request('GET', '/users');
88
89
        $form = $crawler->filter('table td form')->form();
90
        $url_params = explode('/', $form->getUri());
91
        $userid = $url_params[count($url_params)-1];
92
93
        $crawler = $client->request('GET', '/user/edit/'.$userid);
94
        $form = $crawler->selectButton('Save')->form();
95
96
        $client->submit($form, [
97
            'edit[lastName]' => 'test1',
98
            'edit[firstName]' => 'test1',
99
            'edit[email]' => '[email protected]',
100
            'edit[plainPassword][first]' => 'test1',
101
            'edit[plainPassword][second]' => 'test1',
102
        ]);
103
104
        $this->assertInstanceOf(
105
            User::class,
106
            $em->getRepository(User::class)->findOneBy(['email' => '[email protected]'])
107
        );
108
    }
109
}
110