Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
24 / 24
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
AppFixtures
100.00% covered (success)
100.00%
24 / 24
100.00% covered (success)
100.00%
2 / 2
6
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 load
100.00% covered (success)
100.00%
23 / 23
100.00% covered (success)
100.00%
1 / 1
5
1<?php
2
3namespace App\DataFixtures;
4
5use App\Entity\Task;
6use App\Entity\User;
7use Doctrine\Persistence\ObjectManager;
8use Doctrine\Bundle\FixturesBundle\Fixture;
9use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
10
11class AppFixtures extends Fixture
12{
13    private UserPasswordHasherInterface $encoder;
14
15    public function __construct(UserPasswordHasherInterface $encoder)
16    {
17        $this->encoder = $encoder;
18    }
19
20    public function load(ObjectManager $manager): void
21    {
22        // we create 10 users
23        for ($i = 0; $i < 10; $i++) {
24            $user = new User();
25            $password = $this->encoder->hashPassword($user, 'password');
26            $user->setEmail('user' . $i . '@example.com')
27                ->setUsername('user' . $i)
28                ->setRoles($i % 2 ? ['ROLE_USER'] : ['ROLE_ADMIN'])
29                ->setPassword($password);
30            $manager->persist($user);
31        }
32
33        // We create an anonymous user
34        $user = new User();
35        $password = $this->encoder->hashPassword($user, 'password');
36        $user->setEmail('anonymous@example.com')
37            ->setUsername('anonymous')
38            ->setRoles(['ROLE_USER'])
39            ->setPassword($password);
40        $manager->persist($user);
41
42        // We create 10 task alternatively Done and Not Done
43        for ($i = 0; $i < 10; $i++) {
44            $task = new Task();
45            $task->setTitle('Task ' . $i)
46                ->setContent('Content of task ' . $i)
47                ->setCreatedAt(new \DateTimeImmutable())
48                ->setIsDone($i % 2 ? true : false);
49            $manager->persist($task);
50        }
51
52        $manager->flush();
53    }
54}