UserFixtures::load()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 33
Code Lines 28

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 28
nc 1
nop 1
dl 0
loc 33
rs 9.472
c 0
b 0
f 0
1
<?php
2
3
namespace App\DataFixtures;
4
5
use App\Entity\User;
6
use Doctrine\Bundle\FixturesBundle\Fixture;
7
use Doctrine\Common\Persistence\ObjectManager;
8
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
9
10
class UserFixtures extends Fixture
11
{
12
    /**
13
     * @var UserPasswordEncoderInterface
14
     */
15
    private $passwordEncoder;
16
    public function __construct(UserPasswordEncoderInterface $passwordEncoder)
17
    {
18
        $this->passwordEncoder = $passwordEncoder;
19
    }
20
21
    public function load(ObjectManager $manager)
22
    {
23
        $candidate = new User();
24
        $candidate->setUsername('Candidate');
25
        $candidate->setEmail('[email protected]');
26
        $candidate->setRoles(['ROLE_CANDIDATE']);
27
        $candidate->setPassword($this->passwordEncoder->encodePassword($candidate, 'philippe'));
28
        $candidate->setMode('0');
29
        $candidate->setValidation(true);
30
        $manager->persist($candidate);
31
32
        $recruiter = new User();
33
        $recruiter->setUsername('Recruteur');
34
        $recruiter->setEmail('[email protected]');
35
        $recruiter->setRoles(['ROLE_RECRUITER']);
36
        $recruiter->setPassword($this->passwordEncoder->encodePassword($recruiter, 'philippe'));
37
        $recruiter->setMode('1');
38
        $recruiter->setValidation(true);
39
        $manager->persist($candidate);
40
41
        $admin = new User();
42
        $admin->setUsername('Admin');
43
        $admin->setEmail('[email protected]');
44
        $admin->setPassword($this->passwordEncoder->encodePassword($admin, 'admin'));
45
        $admin->setRoles(['ROLE_ADMIN']);
46
        $admin->setMode('2');
47
        $admin->setValidation(true);
48
        $manager->persist($admin);
49
50
        $manager->flush();
51
        $this->addReference('candidate', $candidate);
52
        $this->addReference('recruiter', $recruiter);
53
        $this->addReference('admin', $admin);
54
    }
55
}
56