diff --git a/config/routes/test/test_routes.yaml b/config/routes/test/test_routes.yaml new file mode 100644 index 00000000..0f8a2e02 --- /dev/null +++ b/config/routes/test/test_routes.yaml @@ -0,0 +1,15 @@ +app.test.activity_recent: + path: /{_locale}/activities/recent + controller: App\Controller\ActivityController::recentActivitiesAction + requirements: + _locale: '%app_locales%' + defaults: + _locale: '%locale%' + +app.test.sidebar_settings: + path: /{_locale}/sidebar/settings + controller: App\Controller\SidebarController::settingsAction + requirements: + _locale: '%app_locales%' + defaults: + _locale: '%locale%' diff --git a/src/Repository/ActivityRepository.php b/src/Repository/ActivityRepository.php index 3f797fec..236d32e5 100644 --- a/src/Repository/ActivityRepository.php +++ b/src/Repository/ActivityRepository.php @@ -47,7 +47,7 @@ class ActivityRepository extends AbstractRepository ->join('t.activity', 'a') ->join('a.project', 'p') ->join('p.customer', 'c') - ->where($qb->expr()->isNotNull('t.end')) + ->andWhere($qb->expr()->isNotNull('t.end')) ->andWhere('a.visible = 1') ->andWhere('p.visible = 1') ->andWhere('c.visible = 1') diff --git a/tests/Controller/ActivityControllerTest.php b/tests/Controller/ActivityControllerTest.php index e3a68367..6d406b44 100644 --- a/tests/Controller/ActivityControllerTest.php +++ b/tests/Controller/ActivityControllerTest.php @@ -9,11 +9,10 @@ namespace App\Tests\Controller; -use App\Controller\ActivityController; +use App\Entity\Activity; +use App\Entity\Timesheet; use App\Entity\User; use App\Tests\DataFixtures\TimesheetFixtures; -use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage; -use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken; /** * @coversDefaultClass \App\Controller\ActivityController @@ -23,29 +22,22 @@ class ActivityControllerTest extends ControllerBaseTest { public function testRecentActivitiesAction() { - $kernel = self::bootKernel(); - $container = $kernel->getContainer(); + $client = $this->getClientForAuthenticatedUser(User::ROLE_USER); - $em = $container->get('doctrine.orm.entity_manager'); - $user = $em->getRepository(User::class)->getById(1); - - $storage = new TokenStorage(); - $storage->setToken(new UsernamePasswordToken($user, [], 'foo')); - $container->set('security.token_storage', $storage); + $em = $client->getContainer()->get('doctrine.orm.entity_manager'); + $user = $this->getUserByRole($em, User::ROLE_USER); $fixture = new TimesheetFixtures(); $fixture->setUser($user); $fixture->setAmount(1); - $fixture->setStartDate(new \DateTime('-30 days')); + $fixture->setStartDate(new \DateTime('-10 days')); $this->importFixture($em, $fixture); - $controller = $container->get(ActivityController::class); - $controller->setContainer($container); - $response = $controller->recentActivitiesAction(); + $this->request($client, '/activities/recent'); + $this->assertTrue($client->getResponse()->isSuccessful()); - $content = $response->getContent(); + $content = $client->getResponse()->getContent(); - $this->assertTrue($response->isSuccessful()); $this->assertContains('