Skip to content

Commit 049107a

Browse files
committed
test: add a test to check that remove unrelated terms from entity works
1 parent fa33098 commit 049107a

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

test/Test/Bridge/Repository/TermRepositoryTest.php

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,39 @@ public function testRemoveTermsFromEntity(): void
231231
self::assertEquals(['simple'], array_column($terms, 'name'));
232232
}
233233

234+
public function testRemoveTermsFromEntityWhichDoesNotHaveThemDoesNothing(): void
235+
{
236+
$product = $this->manager->getRepository(Product::class)
237+
->findOneBySku('super-forces-hoodie')
238+
;
239+
240+
$terms = $this->repository->findBy([
241+
new PostRelationshipCondition(Product::class, [
242+
'id' => $product->id,
243+
]),
244+
]);
245+
246+
self::assertEquals(['simple', 'Hoodies', 'MegaBrand'], array_column($terms, 'name'));
247+
248+
$unrelatedTerms = $this->repository->findBy([
249+
new PostRelationshipCondition(Product::class, [
250+
'id' => 37,
251+
]),
252+
]);
253+
254+
self::assertEquals(['external', 'Decor'], array_column($unrelatedTerms, 'name'));
255+
256+
$this->repository->removeTermsFromEntity($product, $unrelatedTerms);
257+
258+
$terms = $this->repository->findBy([
259+
new PostRelationshipCondition(Product::class, [
260+
'id' => $product->id,
261+
]),
262+
]);
263+
264+
self::assertEquals(['simple', 'Hoodies', 'MegaBrand'], array_column($terms, 'name'));
265+
}
266+
234267
public function testRemoveTermsFromEntityWithoutTermTaxonomyIdAreIgnored(): void
235268
{
236269
$product = $this->manager->getRepository(Product::class)

0 commit comments

Comments
 (0)