Skip to content

Commit 7942f1f

Browse files
committed
change test entity
1 parent 3accd34 commit 7942f1f

File tree

8 files changed

+84
-19
lines changed

8 files changed

+84
-19
lines changed

src/Services/MeilisearchService.php

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -222,19 +222,24 @@ public function shouldBeIndexed(object $entity): bool
222222
return true;
223223
}
224224

225-
private function getBaseClassName($object_or_class): string
225+
/**
226+
* @param object|class-string $objectOrClass
227+
*
228+
* @return class-string
229+
*/
230+
private function getBaseClassName($objectOrClass): string
226231
{
227232
foreach ($this->searchableEntities as $class) {
228-
if (is_a($object_or_class, $class, true)) {
233+
if (is_a($objectOrClass, $class, true)) {
229234
return $class;
230235
}
231236
}
232237

233-
if (is_object($object_or_class)) {
234-
return ClassUtils::getClass($object_or_class);
238+
if (is_object($objectOrClass)) {
239+
return ClassUtils::getClass($objectOrClass);
235240
}
236241

237-
return $object_or_class;
242+
return $objectOrClass;
238243
}
239244

240245
private function setSearchableEntities(): void

tests/BaseKernelTestCase.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
use Meilisearch\Bundle\SearchableEntity;
1111
use Meilisearch\Bundle\SearchService;
1212
use Meilisearch\Bundle\Tests\Entity\Comment;
13-
use Meilisearch\Bundle\Tests\Entity\ExternalLink;
1413
use Meilisearch\Bundle\Tests\Entity\Image;
1514
use Meilisearch\Bundle\Tests\Entity\Link;
1615
use Meilisearch\Bundle\Tests\Entity\ObjectId\DummyObjectId;
@@ -149,7 +148,7 @@ protected function createTag(array $properties = []): Tag
149148

150149
protected function createLink(array $properties = []): Link
151150
{
152-
$link = new ExternalLink();
151+
$link = new Link();
153152
$link->setName('Meilisearch Test Link');
154153

155154
if (count($properties) > 0) {

tests/Entity/ExternalLink.php renamed to tests/Entity/Article.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@
1010
* @ORM\Entity
1111
*/
1212
#[ORM\Entity]
13-
class ExternalLink extends Link
13+
class Article extends ContentItem
1414
{
1515
}

tests/Entity/ContentItem.php

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Meilisearch\Bundle\Tests\Entity;
6+
7+
use Doctrine\DBAL\Types\Types;
8+
use Doctrine\ORM\Mapping as ORM;
9+
10+
/**
11+
* @ORM\Entity
12+
*
13+
* @ORM\InheritanceType("JOINED")
14+
*
15+
* @ORM\DiscriminatorColumn(name="type", type="integer")
16+
*
17+
* @ORM\DiscriminatorMap({1 = Article::class, 2 = Podcast::class})
18+
*/
19+
#[ORM\Entity]
20+
#[ORM\InheritanceType('JOINED')]
21+
#[ORM\DiscriminatorColumn(name: 'type', type: 'integer')]
22+
#[ORM\DiscriminatorMap([1 => Article::class, 2 => Podcast::class])]
23+
abstract class ContentItem
24+
{
25+
/**
26+
* @ORM\Id
27+
*
28+
* @ORM\Column(type="integer")
29+
*/
30+
#[ORM\Id]
31+
#[ORM\Column(type: Types::INTEGER)]
32+
private int $id;
33+
34+
/**
35+
* @ORM\Column(type="string")
36+
*/
37+
#[ORM\Column(type: Types::STRING)]
38+
private string $title = 'Title';
39+
40+
public function getId(): int
41+
{
42+
return $this->id;
43+
}
44+
45+
public function setId(int $id): self
46+
{
47+
$this->id = $id;
48+
49+
return $this;
50+
}
51+
52+
public function getTitle(): string
53+
{
54+
return $this->title;
55+
}
56+
57+
public function setTitle(string $title): self
58+
{
59+
$this->title = $title;
60+
61+
return $this;
62+
}
63+
}

tests/Entity/Link.php

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,9 @@
1212

1313
/**
1414
* @ORM\Entity
15-
*
16-
* @ORM\InheritanceType("JOINED")
17-
*
18-
* @ORM\DiscriminatorColumn(name="type", type="integer")
19-
*
20-
* @ORM\DiscriminatorMap({1 = ExternalLink::class, 2 = InternalLink::class})
2115
*/
2216
#[ORM\Entity]
23-
#[ORM\InheritanceType('JOINED')]
24-
#[ORM\DiscriminatorColumn(name: 'type', type: 'integer')]
25-
#[ORM\DiscriminatorMap([1 => ExternalLink::class, 2 => InternalLink::class])]
26-
abstract class Link implements NormalizableInterface
17+
class Link implements NormalizableInterface
2718
{
2819
/**
2920
* @ORM\Id

tests/Entity/InternalLink.php renamed to tests/Entity/Podcast.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@
1010
* @ORM\Entity
1111
*/
1212
#[ORM\Entity]
13-
class InternalLink extends Link
13+
class Podcast extends ContentItem
1414
{
1515
}

tests/Integration/CommandsTest.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ public function testSearchImportAndClearAndDeleteWithoutIndices(): void
8080
Indexed a batch of 6 / 6 Meilisearch\Bundle\Tests\Entity\Tag entities into sf_phpunit__tags index (6 indexed since start)
8181
Indexed a batch of 6 / 6 Meilisearch\Bundle\Tests\Entity\Tag entities into sf_phpunit__aggregated index (6 indexed since start)
8282
Importing for index Meilisearch\Bundle\Tests\Entity\Link
83+
Importing for index Meilisearch\Bundle\Tests\Entity\ContentItem
8384
Importing for index Meilisearch\Bundle\Tests\Entity\Page
8485
Indexed a batch of 6 / 6 Meilisearch\Bundle\Tests\Entity\Page entities into sf_phpunit__pages index (6 indexed since start)
8586
Importing for index Meilisearch\Bundle\Tests\Entity\SelfNormalizable
@@ -111,6 +112,7 @@ public function testSearchImportAndClearAndDeleteWithoutIndices(): void
111112
Cleared sf_phpunit__aggregated index of Meilisearch\Bundle\Tests\Entity\ContentAggregator
112113
Cleared sf_phpunit__tags index of Meilisearch\Bundle\Tests\Entity\Tag
113114
Cleared sf_phpunit__tags index of Meilisearch\Bundle\Tests\Entity\Link
115+
Cleared sf_phpunit__discriminator_map index of Meilisearch\Bundle\Tests\Entity\ContentItem
114116
Cleared sf_phpunit__pages index of Meilisearch\Bundle\Tests\Entity\Page
115117
Cleared sf_phpunit__self_normalizable index of Meilisearch\Bundle\Tests\Entity\SelfNormalizable
116118
Cleared sf_phpunit__dummy_custom_groups index of Meilisearch\Bundle\Tests\Entity\DummyCustomGroups
@@ -130,6 +132,7 @@ public function testSearchImportAndClearAndDeleteWithoutIndices(): void
130132
Deleted sf_phpunit__comments
131133
Deleted sf_phpunit__aggregated
132134
Deleted sf_phpunit__tags
135+
Deleted sf_phpunit__discriminator_map
133136
Deleted sf_phpunit__pages
134137
Deleted sf_phpunit__self_normalizable
135138
Deleted sf_phpunit__dummy_custom_groups
@@ -359,6 +362,7 @@ public function testSearchCreateWithoutIndices(bool $updateSettings): void
359362
Creating index sf_phpunit__comments for Meilisearch\Bundle\Tests\Entity\Comment
360363
Creating index sf_phpunit__tags for Meilisearch\Bundle\Tests\Entity\Tag
361364
Creating index sf_phpunit__tags for Meilisearch\Bundle\Tests\Entity\Link
365+
Creating index sf_phpunit__discriminator_map for Meilisearch\Bundle\Tests\Entity\ContentItem
362366
Creating index sf_phpunit__pages for Meilisearch\Bundle\Tests\Entity\Page
363367
Creating index sf_phpunit__self_normalizable for Meilisearch\Bundle\Tests\Entity\SelfNormalizable
364368
Creating index sf_phpunit__dummy_custom_groups for Meilisearch\Bundle\Tests\Entity\DummyCustomGroups
@@ -378,6 +382,7 @@ public function testSearchCreateWithoutIndices(bool $updateSettings): void
378382
Creating index sf_phpunit__comments for Meilisearch\Bundle\Tests\Entity\Comment
379383
Creating index sf_phpunit__tags for Meilisearch\Bundle\Tests\Entity\Tag
380384
Creating index sf_phpunit__tags for Meilisearch\Bundle\Tests\Entity\Link
385+
Creating index sf_phpunit__discriminator_map for Meilisearch\Bundle\Tests\Entity\ContentItem
381386
Creating index sf_phpunit__pages for Meilisearch\Bundle\Tests\Entity\Page
382387
Creating index sf_phpunit__self_normalizable for Meilisearch\Bundle\Tests\Entity\SelfNormalizable
383388
Creating index sf_phpunit__dummy_custom_groups for Meilisearch\Bundle\Tests\Entity\DummyCustomGroups

tests/config/meilisearch.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ meilisearch:
3131
- name: tags
3232
class: 'Meilisearch\Bundle\Tests\Entity\Link'
3333
index_if: isSponsored
34+
- name: discriminator_map
35+
class: 'Meilisearch\Bundle\Tests\Entity\ContentItem'
3436
- name: pages
3537
class: 'Meilisearch\Bundle\Tests\Entity\Page'
3638
enable_serializer_groups: true

0 commit comments

Comments
 (0)