Minor - refactor code

pull/4004/head
Julio 5 years ago
parent b0682b5ec4
commit 42dcf54e2b
  1. 26
      src/CoreBundle/Repository/GroupRepository.php
  2. 4
      tests/CoreBundle/Repository/GroupRepositoryTest.php
  3. 9
      tests/CourseBundle/Repository/CGroupRepositoryTest.php

@ -45,9 +45,9 @@ class GroupRepository extends ServiceEntityRepository
return [];
}
public function createDefaultGroups(AccessGroupFixtures $accessGroupFixtures = null): void
public function getDefaultGroups(): array
{
$groups = [
return [
[
'code' => 'ADMIN',
'title' => 'Administrators',
@ -89,27 +89,31 @@ class GroupRepository extends ServiceEntityRepository
'roles' => ['ROLE_INVITEE'],
],
];
}
$manager = $this->getEntityManager();
public function createDefaultGroups(AccessGroupFixtures $accessGroupFixtures = null): void
{
$em = $this->getEntityManager();
$groups = $this->getDefaultGroups();
foreach ($groups as $groupData) {
$groupExists = $this->findOneBy(['code' => $groupData['code']]);
foreach ($groups as $groupItem) {
$groupExists = $this->findOneBy(['code' => $groupItem['code']]);
if (null === $groupExists) {
$group = (new Group($groupData['title']))
->setCode($groupData['code'])
$group = (new Group($groupItem['title']))
->setCode($groupItem['code'])
;
foreach ($groupData['roles'] as $role) {
foreach ($groupItem['roles'] as $role) {
$group->addRole($role);
}
$manager->persist($group);
$em->persist($group);
if (null !== $accessGroupFixtures) {
$accessGroupFixtures->addReference('GROUP_'.$groupData['code'], $group);
$accessGroupFixtures->addReference('GROUP_'.$groupItem['code'], $group);
}
}
}
$manager->flush();
$em->flush();
}
}

@ -17,8 +17,6 @@ class GroupRepositoryTest extends AbstractApiTest
public function testCreate(): void
{
self::bootKernel();
$em = $this->getEntityManager();
$repo = self::getContainer()->get(GroupRepository::class);
$defaultGroups = $repo->count([]);
@ -36,7 +34,7 @@ class GroupRepositoryTest extends AbstractApiTest
{
$repo = self::getContainer()->get(GroupRepository::class);
$admins = $repo->getAdmins();
$this->assertSame(0, \count($admins));
$this->assertCount(0, $admins);
}
public function testCreateDefaultGroups(): void

@ -30,20 +30,21 @@ class CGroupRepositoryTest extends AbstractApiTest
->setParent($course)
->setCreator($teacher)
->setMaxStudent(100)
;
$this->assertHasNoEntityViolations($item);
$em->persist($item);
$em->flush();
$this->assertSame(1, $repo->count([]));
$this->assertNotNull($repo->findOneByTitle('Group'));
$repo->delete($item);
$this->assertSame(0, $repo->count([]));
}
public function testFindAllByCourse(): void
{
self::bootKernel();
$repo = self::getContainer()->get(CGroupRepository::class);
$course = $this->createCourse('new');
@ -59,6 +60,6 @@ class CGroupRepositoryTest extends AbstractApiTest
$repo->create($item);
$qb = $repo->findAllByCourse($course);
$this->assertSame(1, \count($qb->getQuery()->getResult()));
$this->assertCount(1, $qb->getQuery()->getResult());
}
}

Loading…
Cancel
Save