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

UsersMoviesFixtures   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 4
dl 0
loc 30
ccs 0
cts 13
cp 0
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A load() 0 14 1
A getDependencies() 0 4 1
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