]> git.immae.eu Git - github/wallabag/wallabag.git/blame - src/Wallabag/CoreBundle/DataFixtures/EntryFixtures.php
Fixed tests
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / DataFixtures / EntryFixtures.php
CommitLineData
3b815d2d
J
1<?php
2
db9b6d8d 3namespace Wallabag\CoreBundle\DataFixtures;
3b815d2d 4
db9b6d8d
JB
5use Doctrine\Bundle\FixturesBundle\Fixture;
6use Doctrine\Common\DataFixtures\DependentFixtureInterface;
3b815d2d
J
7use Doctrine\Common\Persistence\ObjectManager;
8use Wallabag\CoreBundle\Entity\Entry;
db9b6d8d 9use Wallabag\UserBundle\DataFixtures\UserFixtures;
3b815d2d 10
db9b6d8d 11class EntryFixtures extends Fixture implements DependentFixtureInterface
3b815d2d
J
12{
13 /**
8ce32af6 14 * {@inheritdoc}
3b815d2d
J
15 */
16 public function load(ObjectManager $manager)
17 {
bafb9744
KD
18 $entries = [
19 'entry1' => [
20 'user' => 'admin-user',
21 'url' => 'http://0.0.0.0/entry1',
22 'reading_time' => 11,
23 'domain' => 'domain.io',
24 'mime' => 'text/html',
25 'title' => 'test title entry1',
26 'content' => 'This is my content /o/',
f5c1ae2d 27 'created_at' => '2020-04-26 10:00:00',
bafb9744
KD
28 'language' => 'en',
29 'tags' => ['foo-tag', 'baz-tag'],
30 ],
31 'entry2' => [
32 'user' => 'admin-user',
33 'url' => 'http://0.0.0.0/entry2',
34 'reading_time' => 1,
35 'domain' => 'domain.io',
36 'mime' => 'text/html',
37 'title' => 'test title entry2',
38 'content' => 'This is my content /o/',
f5c1ae2d 39 'created_at' => '2020-04-26 10:01:00',
bafb9744
KD
40 'origin' => 'ftp://oneftp.tld',
41 'language' => 'fr',
42 ],
43 'entry3' => [
44 'user' => 'bob-user',
45 'url' => 'http://0.0.0.0/entry3',
46 'reading_time' => 1,
47 'domain' => 'domain.io',
48 'mime' => 'text/html',
49 'title' => 'test title entry3',
50 'content' => 'This is my content /o/',
f5c1ae2d 51 'created_at' => '2020-04-26 10:02:00',
bafb9744
KD
52 'language' => 'en',
53 'tags' => ['foo-tag', 'bar-tag', 'bob-tag'],
54 ],
55 'entry4' => [
56 'user' => 'admin-user',
57 'url' => 'http://0.0.0.0/entry4',
58 'reading_time' => 12,
59 'domain' => 'domain.io',
60 'mime' => 'text/html',
61 'title' => 'test title entry4',
62 'content' => 'This is my content /o/',
f5c1ae2d 63 'created_at' => '2020-04-26 10:03:00',
bafb9744
KD
64 'language' => 'en',
65 'tags' => ['foo-tag', 'bar-tag'],
66 ],
67 'entry5' => [
68 'user' => 'admin-user',
69 'url' => 'http://0.0.0.0/entry5',
70 'reading_time' => 12,
71 'domain' => 'domain.io',
72 'mime' => 'text/html',
73 'title' => 'test title entry5',
74 'content' => 'This is my content /o/',
f5c1ae2d 75 'created_at' => '2020-04-26 10:04:00',
bafb9744
KD
76 'language' => 'fr',
77 'starred' => true,
78 'preview' => 'http://0.0.0.0/image.jpg',
79 ],
80 'entry6' => [
81 'user' => 'admin-user',
82 'url' => 'http://0.0.0.0/entry6',
83 'reading_time' => 12,
84 'domain' => 'domain.io',
85 'mime' => 'text/html',
86 'title' => 'test title entry6',
87 'content' => 'This is my content /o/',
f5c1ae2d 88 'created_at' => '2020-04-26 10:05:00',
bafb9744
KD
89 'language' => 'de',
90 'archived' => true,
91 'tags' => ['bar-tag'],
92 ],
93 ];
371ac69a 94
bafb9744
KD
95 foreach ($entries as $reference => $item) {
96 $entry = new Entry($this->getReference($item['user']));
97 $entry->setUrl($item['url']);
98 $entry->setReadingTime($item['reading_time']);
99 $entry->setDomainName($item['domain']);
100 $entry->setMimetype($item['mime']);
101 $entry->setTitle($item['title']);
102 $entry->setContent($item['content']);
f5c1ae2d 103 $entry->setCreatedAt(new \DateTime($item['created_at']));
bafb9744
KD
104 $entry->setLanguage($item['language']);
105
106 if (isset($item['tags'])) {
107 foreach ($item['tags'] as $tag) {
108 $entry->addTag($this->getReference($tag));
109 }
110 }
111
112 if (isset($item['origin'])) {
113 $entry->setOriginUrl($item['origin']);
114 }
115
116 if (isset($item['starred'])) {
117 $entry->setStarred($item['starred']);
118 }
119
120 if (isset($item['archived'])) {
121 $entry->setArchived($item['archived']);
122 }
123
124 if (isset($item['preview'])) {
125 $entry->setPreviewPicture($item['preview']);
126 }
127
128 $manager->persist($entry);
129 $this->addReference($reference, $entry);
130 }
371ac69a 131
eb3bd7ef 132 $manager->flush();
3b815d2d
J
133 }
134
135 /**
8ce32af6 136 * {@inheritdoc}
3b815d2d 137 */
db9b6d8d 138 public function getDependencies()
3b815d2d 139 {
db9b6d8d
JB
140 return [
141 UserFixtures::class,
142 TagFixtures::class,
143 ];
3b815d2d
J
144 }
145}