Completed
Push — master ( c5110b...a167e6 )
by Valentyn
13:46
created

UsersMoviesFixtures::load()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 14

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 14
ccs 0
cts 11
cp 0
rs 9.7998
c 0
b 0
f 0
cc 1
nc 1
nop 1
crap 2
1
<?php
2
3
namespace App\Users\DataFixtures;
4
5
use App\Countries\DataFixtures\CountriesFixtures;
6
use App\Countries\Entity\Country;
7
use App\Movies\DataFixtures\MoviesFixtures;
8
use App\Movies\Entity\Movie;
9
use App\Movies\Entity\MovieReleaseDate;
10
use App\Users\Entity\User;
11
use App\Users\Entity\UserInterestedMovie;
12
use Doctrine\Bundle\FixturesBundle\Fixture;
13
use Doctrine\Common\DataFixtures\DependentFixtureInterface;
14
use Doctrine\Common\Persistence\ObjectManager;
15
16
class UsersMoviesFixtures extends Fixture implements DependentFixtureInterface
17
{
18
    const RELEASE_DATE = '2018-01-01';
19
    const MOVIE_ID = MoviesFixtures::MOVIE_1_ID;
20
21
    /**
22
     * @param ObjectManager $manager
23
     *
24
     * @throws
25
     */
26
    public function load(ObjectManager $manager): void
27
    {
28
        $movie = $manager->find(Movie::class, self::MOVIE_ID);
29
        $ukr = $manager->find(Country::class, CountriesFixtures::COUNTRY_UKR_ID);
30
        $user = $manager->find(User::class, UsersFixtures::MOVIE_TESTER_ID);
31
        $date = new \DateTime(self::RELEASE_DATE);
32
        $releaseDate = new MovieReleaseDate($movie, $ukr, $date);
33
34
        $userInterestedMovie = new UserInterestedMovie($user, $movie);
35
36
        $manager->persist($releaseDate);
37
        $manager->persist($userInterestedMovie);
38
        $manager->flush();
39
    }
40
41
    public function getDependencies()
42
    {
43
        return [UsersFixtures::class, MoviesFixtures::class, CountriesFixtures::class];
44
    }
45
}
46