Skip to content

Commit

Permalink
Fix Lexer query error
Browse files Browse the repository at this point in the history
  • Loading branch information
core23 committed Mar 20, 2020
1 parent 6e39b19 commit 3e91e1f
Show file tree
Hide file tree
Showing 6 changed files with 101 additions and 5 deletions.
3 changes: 2 additions & 1 deletion src/Entity/CategoryManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,8 @@ public function getPager(array $criteria, $page, $limit = 10, array $sort = [])

public function getBySlug(string $slug, $context = null, ?bool $enabled = true): ?CategoryInterface
{
$queryBuilder = $this->getObjectManager()->createQueryBuilder()
$queryBuilder = $this->getRepository()
->createQueryBuilder('c')
->select('c')
->andWhere('c.slug = :slug')->setParameter('slug', $slug);

Expand Down
6 changes: 4 additions & 2 deletions src/Entity/CollectionManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@ public function getPager(array $criteria, $page, $limit = 10, array $sort = [])

public function getBySlug(string $slug, $context = null, ?bool $enabled = true): ?CollectionInterface
{
$queryBuilder = $this->getObjectManager()->createQueryBuilder()
$queryBuilder = $this->getRepository()
->createQueryBuilder('c')
->select('c')
->andWhere('c.slug = :slug')->setParameter('slug', $slug);

Expand All @@ -63,7 +64,8 @@ public function getBySlug(string $slug, $context = null, ?bool $enabled = true):

public function getByContext($context, ?bool $enabled = true): array
{
$queryBuilder = $this->getObjectManager()->createQueryBuilder()
$queryBuilder = $this->getRepository()
->createQueryBuilder('c')
->select('c')
->andWhere('c.context = :context')->setParameter('context', $context);

Expand Down
6 changes: 4 additions & 2 deletions src/Entity/TagManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@ public function getPager(array $criteria, $page, $limit = 10, array $sort = [])

public function getBySlug(string $slug, $context = null, ?bool $enabled = true): ?TagInterface
{
$queryBuilder = $this->getObjectManager()->createQueryBuilder()
$queryBuilder = $this->getRepository()
->createQueryBuilder('t')
->select('t')
->andWhere('t.slug = :slug')->setParameter('slug', $slug);

Expand All @@ -63,7 +64,8 @@ public function getBySlug(string $slug, $context = null, ?bool $enabled = true):

public function getByContext($context, ?bool $enabled = true): array
{
$queryBuilder = $this->getObjectManager()->createQueryBuilder()
$queryBuilder = $this->getRepository()
->createQueryBuilder('t')
->select('t')
->andWhere('t.context = :context')->setParameter('context', $context);

Expand Down
19 changes: 19 additions & 0 deletions tests/Entity/CategoryManagerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,25 @@ public function testGetRootCategoriesSplitByContexts(): void
$this->assertContains($categoryBar, $categories[$contextBar->getId()]);
}

public function testGetBySlug(): void
{
$self = $this;
$this
->getCategoryManager(static function ($qb) use ($self): void {
$qb->expects($self->once())->method('getRootAliases')->will($self->returnValue([]));
$qb->expects($self->exactly(3))->method('andWhere')->withConsecutive(
[$self->equalTo('c.slug = :slug')],
[$self->equalTo('c.context = :context')][$self->equalTo('c.enabled = :enabled')]
);
$qb->expects($self->exactly(3))->method('setParameter')->withConsecutive(
[$self->equalTo('slug'), $self->equalTo('theslug')],
[$self->equalTo('context'), $self->equalTo('contextA')],
[$self->equalTo('enabled'), $self->equalTo(false)],
);
})
->getBySlug('theslug', 'contextA', false);
}

protected function getCategoryManager($qbCallback, $createQueryResult = null)
{
$em = $this->createEntityManagerMock($qbCallback, []);
Expand Down
36 changes: 36 additions & 0 deletions tests/Entity/CollectionManagerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,42 @@ public function testGetPagerWithDisabledCollections(): void
], 1);
}

public function testGetBySlug(): void
{
$self = $this;
$this
->getCollectionManager(static function ($qb) use ($self): void {
$qb->expects($self->once())->method('getRootAliases')->will($self->returnValue([]));
$qb->expects($self->exactly(3))->method('andWhere')->withConsecutive(
[$self->equalTo('c.slug = :slug')],
[$self->equalTo('c.context = :context')][$self->equalTo('c.enabled = :enabled')]
);
$qb->expects($self->exactly(3))->method('setParameter')->withConsecutive(
[$self->equalTo('slug'), $self->equalTo('theslug')],
[$self->equalTo('context'), $self->equalTo('contextA')],
[$self->equalTo('enabled'), $self->equalTo(false)],
);
})
->getBySlug('theslug', 'contextA', false);
}

public function testGetByContext(): void
{
$self = $this;
$this
->getCollectionManager(static function ($qb) use ($self): void {
$qb->expects($self->once())->method('getRootAliases')->will($self->returnValue([]));
$qb->expects($self->exactly(2))->method('andWhere')->withConsecutive(
[$self->equalTo('c.context = :context')][$self->equalTo('c.enabled = :enabled')]
);
$qb->expects($self->exactly(2))->method('setParameter')->withConsecutive(
[$self->equalTo('context'), $self->equalTo('contextA')],
[$self->equalTo('enabled'), $self->equalTo(false)],
);
})
->getByContext('contextA', false);
}

protected function getCollectionManager($qbCallback)
{
$em = $this->createEntityManagerMock($qbCallback, []);
Expand Down
36 changes: 36 additions & 0 deletions tests/Entity/TagManagerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,42 @@ public function testGetPagerWithDisabledTags(): void
], 1);
}

public function testGetBySlug(): void
{
$self = $this;
$this
->getTagManager(static function ($qb) use ($self): void {
$qb->expects($self->once())->method('getRootAliases')->will($self->returnValue([]));
$qb->expects($self->exactly(3))->method('andWhere')->withConsecutive(
[$self->equalTo('t.slug = :slug')],
[$self->equalTo('t.context = :context')][$self->equalTo('t.enabled = :enabled')]
);
$qb->expects($self->exactly(3))->method('setParameter')->withConsecutive(
[$self->equalTo('slug'), $self->equalTo('theslug')],
[$self->equalTo('context'), $self->equalTo('contextA')],
[$self->equalTo('enabled'), $self->equalTo(false)],
);
})
->getBySlug('theslug', 'contextA', false);
}

public function testGetByContext(): void
{
$self = $this;
$this
->getTagManager(static function ($qb) use ($self): void {
$qb->expects($self->once())->method('getRootAliases')->will($self->returnValue([]));
$qb->expects($self->exactly(2))->method('andWhere')->withConsecutive(
[$self->equalTo('t.context = :context')][$self->equalTo('t.enabled = :enabled')]
);
$qb->expects($self->exactly(2))->method('setParameter')->withConsecutive(
[$self->equalTo('context'), $self->equalTo('contextA')],
[$self->equalTo('enabled'), $self->equalTo(false)],
);
})
->getByContext('contextA', false);
}

protected function getTagManager($qbCallback)
{
$em = $this->createEntityManagerMock($qbCallback, []);
Expand Down

0 comments on commit 3e91e1f

Please sign in to comment.