public function testGetEmailOrigins() { $userId = 123; $emailOrigins = [new InternalEmailOrigin()]; $this->setGetEmailOriginsExpectations($userId, $emailOrigins); $this->assertSame($emailOrigins, $this->helper->getEmailOrigins($userId)); // call one more time to check the result is cached $this->assertSame($emailOrigins, $this->helper->getEmailOrigins($userId)); }
/** * @param BuildAfter $event */ public function onBuildAfter(BuildAfter $event) { $datagrid = $event->getDatagrid(); $datasource = $datagrid->getDatasource(); if ($datasource instanceof OrmDatasource) { $parameters = $datagrid->getParameters(); $userId = $parameters->get('userId'); $queryBuilder = $datasource->getQueryBuilder(); $this->emailQueryFactory->applyAcl($queryBuilder); $this->emailQueryFactory->prepareQuery($queryBuilder); // bind 'origin_ids' parameter $originIds = []; $emailOrigins = $this->emailGridHelper->getEmailOrigins($userId); foreach ($emailOrigins as $emailOrigin) { $originIds[] = $emailOrigin->getId(); } $queryBuilder->setParameter('origin_ids', $originIds); } }