Fix unit tests

This commit is contained in:
Nicolas Le Goff
2013-12-24 15:25:00 +01:00
parent 1ac7a536f9
commit c10c78f740
56 changed files with 167 additions and 241 deletions

View File

@@ -248,7 +248,7 @@ class Edit implements ControllerProviderInterface
$query = $request->query->get('query'); $query = $request->query->get('query');
$results = $VC->find($query, $app['authentication']->getUser(), $app['translator'], $databox); $results = $VC->find($query, $app['authentication']->getUser(), $databox);
$list = []; $list = [];

View File

@@ -550,12 +550,15 @@ class Push implements ControllerProviderInterface
$user->setFirstName($request->request->get('firstname')) $user->setFirstName($request->request->get('firstname'))
->setLastName($request->request->get('lastname')); ->setLastName($request->request->get('lastname'));
if ($request->request->get('company')) if ($request->request->get('company')) {
$user->setCompany($request->request->get('company')); $user->setCompany($request->request->get('company'));
if ($request->request->get('job')) }
if ($request->request->get('job')) {
$user->setCompany($request->request->get('job')); $user->setCompany($request->request->get('job'));
if ($request->request->get('form_geonameid')) }
if ($request->request->get('form_geonameid')) {
$app['manipulator.user']->setGeonameId($user, $request->request->get('form_geonameid')); $app['manipulator.user']->setGeonameId($user, $request->request->get('form_geonameid'));
}
$result['message'] = $app->trans('User successfully created'); $result['message'] = $app->trans('User successfully created');
$result['success'] = true; $result['success'] = true;

View File

@@ -143,7 +143,7 @@ class Account implements ControllerProviderInterface
$url = $app->url('account_reset_email', ['token' => $token]); $url = $app->url('account_reset_email', ['token' => $token]);
try { try {
$receiver = Receiver::fromUser($app['authentication']->getUser(), $app['translator']); $receiver = Receiver::fromUser($app['authentication']->getUser());
} catch (InvalidArgumentException $e) { } catch (InvalidArgumentException $e) {
$app->addFlash('error', $app->trans('phraseanet::erreur: echec du serveur de mail')); $app->addFlash('error', $app->trans('phraseanet::erreur: echec du serveur de mail'));

View File

@@ -522,7 +522,7 @@ class Login implements ControllerProviderInterface
*/ */
private function sendAccountUnlockEmail(PhraseaApplication $app, User $user) private function sendAccountUnlockEmail(PhraseaApplication $app, User $user)
{ {
$receiver = Receiver::fromUser($user, $app['translator']); $receiver = Receiver::fromUser($user);
$expire = new \DateTime('+3 days'); $expire = new \DateTime('+3 days');
$token = $app['tokens']->getUrlToken(\random::TYPE_PASSWORD, $user->getId(), $expire, $user->getEmail()); $token = $app['tokens']->getUrlToken(\random::TYPE_PASSWORD, $user->getId(), $expire, $user->getEmail());
@@ -573,7 +573,7 @@ class Login implements ControllerProviderInterface
$user->setMailLocked(false); $user->setMailLocked(false);
try { try {
$receiver = Receiver::fromUser($user, $app['translator']); $receiver = Receiver::fromUser($user);
} catch (InvalidArgumentException $e) { } catch (InvalidArgumentException $e) {
$app->addFlash('success', $app->trans('Account has been unlocked, you can now login.')); $app->addFlash('success', $app->trans('Account has been unlocked, you can now login.'));
@@ -663,7 +663,7 @@ class Login implements ControllerProviderInterface
} }
try { try {
$receiver = Receiver::fromUser($user, $app['translator']); $receiver = Receiver::fromUser($user);
} catch (InvalidArgumentException $e) { } catch (InvalidArgumentException $e) {
throw new FormProcessingException($app->trans('Invalid email address')); throw new FormProcessingException($app->trans('Invalid email address'));
} }

View File

@@ -79,7 +79,7 @@ class Aggregate implements FeedInterface
public static function createFromUser(Application $app, User $user) public static function createFromUser(Application $app, User $user)
{ {
$feeds = $app['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Feed')->getAllForUser($app['acl']->get($user)); $feeds = $app['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Feed')->getAllForUser($app['acl']->get($user));
$token = $app['EM']->getRepository('Alchemy\Phrasea\Model\Entities\AggregateToken')->findOneBy(['user' => $user->getId()]); $token = $app['EM']->getRepository('Alchemy\Phrasea\Model\Entities\AggregateToken')->findOneBy(['user' => $user]);
return new static($app['EM'], $feeds, $token); return new static($app['EM'], $feeds, $token);
} }

View File

@@ -132,7 +132,7 @@ class AggregateLinkGenerator implements LinkGeneratorInterface
{ {
$token = $this->em $token = $this->em
->getRepository('Alchemy\Phrasea\Model\Entities\AggregateToken') ->getRepository('Alchemy\Phrasea\Model\Entities\AggregateToken')
->findOneBy(['user' => $user->getId()]); ->findOneBy(['user' => $user]);
if (null === $token || true === $renew) { if (null === $token || true === $renew) {
if (null === $token) { if (null === $token) {

View File

@@ -140,7 +140,7 @@ class FeedLinkGenerator implements LinkGeneratorInterface
{ {
$token = $this->em $token = $this->em
->getRepository('Alchemy\Phrasea\Model\Entities\FeedToken') ->getRepository('Alchemy\Phrasea\Model\Entities\FeedToken')
->findOneBy(['user' => $user->getId(), 'feed' => $feed->getId()]); ->findOneBy(['user' => $user, 'feed' => $feed]);
if (null === $token || true === $renew) { if (null === $token || true === $renew) {
if (null === $token) { if (null === $token) {

View File

@@ -154,7 +154,7 @@ class Manage extends Helper
$receiver = null; $receiver = null;
try { try {
$receiver = Receiver::fromUser($createdUser, $this->app['translator']); $receiver = Receiver::fromUser($createdUser);
} catch (InvalidArgumentException $e) { } catch (InvalidArgumentException $e) {
} }

View File

@@ -1031,12 +1031,16 @@ class User
/** /**
* @return string * @return string
*/ */
public function getDisplayName(TranslatorInterface $translator) public function getDisplayName(TranslatorInterface $translator = null)
{ {
if ($this->isTemplate()) { if ($this->isTemplate() && $translator) {
return $translator->trans('modele %name%', ['%name%' => $this->getLogin()]); return $translator->trans('modele %name%', ['%name%' => $this->getLogin()]);
} }
if ($this->isTemplate()) {
return $this->getLogin();
}
if (trim($this->lastName) !== '' || trim($this->firstName) !== '') { if (trim($this->lastName) !== '' || trim($this->firstName) !== '') {
return $this->firstName . ('' !== $this->firstName && '' !== $this->lastName ? ' ' : '') . $this->lastName; return $this->firstName . ('' !== $this->firstName && '' !== $this->lastName ? ' ' : '') . $this->lastName;
} }
@@ -1045,6 +1049,10 @@ class User
return $this->email; return $this->email;
} }
return $translator->trans('Unnamed user'); if ($translator) {
return $translator->trans('Unnamed user');
}
return 'Unnamed user';
} }
} }

View File

@@ -138,7 +138,7 @@ class UserManager
private function cleanFtpExports(User $user) private function cleanFtpExports(User $user)
{ {
$elements = $this->objectManager->getRepository('Alchemy\Phrasea\Model\Entities\FtpExport') $elements = $this->objectManager->getRepository('Alchemy\Phrasea\Model\Entities\FtpExport')
->findBy(['user' => $user->getId()]); ->findBy(['user' => $user]);
foreach ($elements as $element) { foreach ($elements as $element) {
$this->objectManager->remove($element); $this->objectManager->remove($element);
@@ -153,7 +153,7 @@ class UserManager
private function cleanOrders(User $user) private function cleanOrders(User $user)
{ {
$orders = $this->objectManager->getRepository('Alchemy\Phrasea\Model\Entities\Order') $orders = $this->objectManager->getRepository('Alchemy\Phrasea\Model\Entities\Order')
->findBy(['user' => $user->getId()]); ->findBy(['user' => $user]);
foreach ($orders as $order) { foreach ($orders as $order) {
$this->objectManager->remove($order); $this->objectManager->remove($order);
@@ -168,7 +168,7 @@ class UserManager
private function cleanUserSessions(User $user) private function cleanUserSessions(User $user)
{ {
$sessions = $this->objectManager->getRepository('Alchemy\Phrasea\Model\Entities\Session') $sessions = $this->objectManager->getRepository('Alchemy\Phrasea\Model\Entities\Session')
->findByUser(['user' => $user->getId()]); ->findByUser(['user' => $user]);
foreach ($sessions as $session) { foreach ($sessions as $session) {
$this->objectManager->remove($session); $this->objectManager->remove($session);
@@ -183,7 +183,7 @@ class UserManager
private function cleanAuthProvider(User $user) private function cleanAuthProvider(User $user)
{ {
$providers = $this->objectManager->getRepository('Alchemy\Phrasea\Model\Entities\UsrAuthProvider') $providers = $this->objectManager->getRepository('Alchemy\Phrasea\Model\Entities\UsrAuthProvider')
->findBy(['user' => $user->getId()]); ->findBy(['user' => $user]);
foreach ($providers as $provider) { foreach ($providers as $provider) {
$this->objectManager->remove($provider); $this->objectManager->remove($provider);

View File

@@ -46,9 +46,6 @@ class NativeQueryProvider
public function getModelForUser(User $user, array $basList) public function getModelForUser(User $user, array $basList)
{ {
debug_print_backtrace(10);
echo __METHOD__;
exit;
$rsm = new ResultSetMappingBuilder($this->em); $rsm = new ResultSetMappingBuilder($this->em);
$rsm->addRootEntityFromClassMetadata('Alchemy\Phrasea\Model\Entities\User', 'u'); $rsm->addRootEntityFromClassMetadata('Alchemy\Phrasea\Model\Entities\User', 'u');
@@ -70,9 +67,6 @@ class NativeQueryProvider
public function getAdminsOfBases(array $basList) public function getAdminsOfBases(array $basList)
{ {
debug_print_backtrace(10);
echo __METHOD__;
exit;
$rsm = new ResultSetMappingBuilder($this->em); $rsm = new ResultSetMappingBuilder($this->em);
$rsm->addRootEntityFromClassMetadata('Alchemy\Phrasea\Model\Entities\User', 'u'); $rsm->addRootEntityFromClassMetadata('Alchemy\Phrasea\Model\Entities\User', 'u');
$rsm->addScalarResult('base_id', 'base_id'); $rsm->addScalarResult('base_id', 'base_id');

View File

@@ -69,6 +69,6 @@ class FtpExportRepository extends EntityRepository
*/ */
public function findByUser(User $user) public function findByUser(User $user)
{ {
return $this->findBy(['user' => $user->getId()]); return $this->findBy(['user' => $user]);
} }
} }

View File

@@ -28,14 +28,14 @@ class StoryWZRepository extends EntityRepository
public function findByUser(Application $app, User $user, $sort) public function findByUser(Application $app, User $user, $sort)
{ {
$dql = 'SELECT s FROM Alchemy\Phrasea\Model\Entities\StoryWZ s WHERE s.user = :usr_id '; $dql = 'SELECT s FROM Alchemy\Phrasea\Model\Entities\StoryWZ s WHERE s.user = :user ';
if ($sort == 'date') { if ($sort == 'date') {
$dql .= ' ORDER BY s.created DESC'; $dql .= ' ORDER BY s.created DESC';
} }
$query = $this->_em->createQuery($dql); $query = $this->_em->createQuery($dql);
$query->setParameters(['usr_id' => $user->getId()]); $query->setParameters(['user' => $user]);
$stories = $query->getResult(); $stories = $query->getResult();
@@ -96,13 +96,11 @@ class StoryWZRepository extends EntityRepository
public function findUserStory(Application $app, User $user, \record_adapter $Story) public function findUserStory(Application $app, User $user, \record_adapter $Story)
{ {
$story = $this->findOneBy( $story = $this->findOneBy([
[ 'user' => $user->getId(),
'user' => $user->getId(), 'sbas_id' => $Story->get_sbas_id(),
'sbas_id' => $Story->get_sbas_id(), 'record_id' => $Story->get_record_id(),
'record_id' => $Story->get_record_id(), ]);
]
);
if ($story) { if ($story) {
try { try {
@@ -119,7 +117,8 @@ class StoryWZRepository extends EntityRepository
public function findByRecord(Application $app, \record_adapter $Story) public function findByRecord(Application $app, \record_adapter $Story)
{ {
$dql = 'SELECT s FROM Phraseanet:StoryWZ s WHERE s.sbas_id = :sbas_id $dql = 'SELECT s FROM Alchemy\Phrasea\Model\Entities\StoryWZ s
WHERE s.sbas_id = :sbas_id
AND s.record_id = :record_id'; AND s.record_id = :record_id';
$query = $this->_em->createQuery($dql); $query = $this->_em->createQuery($dql);
@@ -148,9 +147,7 @@ class StoryWZRepository extends EntityRepository
$dql = 'SELECT s FROM Phraseanet:StoryWZ s WHERE s.sbas_id = :sbas_id'; $dql = 'SELECT s FROM Phraseanet:StoryWZ s WHERE s.sbas_id = :sbas_id';
$query = $this->_em->createQuery($dql); $query = $this->_em->createQuery($dql);
$query->setParameters([ $query->setParameters(['sbas_id' => $databox->get_sbas_id(),]);
'sbas_id' => $databox->get_sbas_id(),
]);
$stories = $query->getResult(); $stories = $query->getResult();

View File

@@ -15,6 +15,7 @@ use Alchemy\Phrasea\Model\Entities\User;
use Alchemy\Phrasea\Model\Entities\UsrList; use Alchemy\Phrasea\Model\Entities\UsrList;
use Alchemy\Phrasea\Model\Entities\UsrListEntry; use Alchemy\Phrasea\Model\Entities\UsrListEntry;
use Doctrine\ORM\EntityRepository; use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\NoResultException;
use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException; use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
@@ -78,12 +79,12 @@ class UsrListEntryRepository extends EntityRepository
$query = $this->_em->createQuery($dql); $query = $this->_em->createQuery($dql);
$query->setParameters($params); $query->setParameters($params);
$entry = $query->getResult(); try {
$entry = $query->getSingleResult();
if (!$entry) { } catch (NoResultException $e) {
throw new NotFoundHttpException('Entry not found'); throw new NotFoundHttpException('Entry not found', null, $e);
} }
return $query->getSingleResult(); return $entry;
} }
} }

View File

@@ -70,11 +70,10 @@ class UsrListOwnerRepository extends EntityRepository
$query = $this->_em->createQuery($dql); $query = $this->_em->createQuery($dql);
$query->setParameters($params); $query->setParameters($params);
$owner = $query->getSingleResult(); try {
$owner = $query->getSingleResult();
/* @var $owner UsrListOwner */ } catch (NoResultException $e) {
if (null === $owner) { throw new NotFoundHttpException('Owner is not found', null, $e);
throw new NotFoundHttpException('Owner is not found');
} }
return $owner; return $owner;

View File

@@ -55,8 +55,8 @@ class Emitter implements EmitterInterface
* *
* @throws InvalidArgumentException In case no valid email is found for user * @throws InvalidArgumentException In case no valid email is found for user
*/ */
public static function fromUser(User $user, TranslatorInterface $translator) public static function fromUser(User $user)
{ {
return new static($user->getDisplayName($translator), $user->getEmail()); return new static($user->getDisplayName(), $user->getEmail());
} }
} }

View File

@@ -55,8 +55,8 @@ class Receiver implements ReceiverInterface
* *
* @throws InvalidArgumentException In case no valid email is found for user * @throws InvalidArgumentException In case no valid email is found for user
*/ */
public static function fromUser(User $user, TranslatorInterface $translator) public static function fromUser(User $user)
{ {
return new static($user->getDisplayName($translator), $user->getEmail()); return new static($user->getDisplayName(), $user->getEmail());
} }
} }

View File

@@ -72,8 +72,8 @@ class Installer
->give_access_to_sbas([$databox->get_sbas_id()]) ->give_access_to_sbas([$databox->get_sbas_id()])
->update_rights_to_sbas( ->update_rights_to_sbas(
$databox->get_sbas_id(), [ $databox->get_sbas_id(), [
'bas_manage' => 1, 'bas_modify_struct' => 1, 'bas_manage' => 1, 'bas_modify_struct' => 1,
'bas_modif_th' => 1, 'bas_chupub' => 1 'bas_modif_th' => 1, 'bas_chupub' => 1
] ]
); );

View File

@@ -52,10 +52,9 @@ interface ControlProviderInterface
* *
* @param string $query A scalar quaery * @param string $query A scalar quaery
* @param User $for_user The user doing the query * @param User $for_user The user doing the query
* @param TranslatorInterface $translator
* @param \databox $on_databox The databox where vocabulary should be requested * @param \databox $on_databox The databox where vocabulary should be requested
* *
* @return Doctrine\Common\Collections\ArrayCollection * @return Doctrine\Common\Collections\ArrayCollection
*/ */
public function find($query, User $for_user, TranslatorInterface $translator, \databox $on_databox); public function find($query, User $for_user, \databox $on_databox);
} }

View File

@@ -51,7 +51,7 @@ class UserProvider implements ControlProviderInterface
* @param \databox $on_databox * @param \databox $on_databox
* @return \Doctrine\Common\Collections\ArrayCollection * @return \Doctrine\Common\Collections\ArrayCollection
*/ */
public function find($query, User $for_user, TranslatorInterface $translator ,\databox $on_databox = null) public function find($query, User $for_user,\databox $on_databox = null)
{ {
$user_query = new \User_Query($this->app); $user_query = new \User_Query($this->app);
@@ -69,7 +69,7 @@ class UserProvider implements ControlProviderInterface
foreach ($users as $user) { foreach ($users as $user) {
$results->add( $results->add(
new Term($user->getDisplayName($translator), '', $this, $user->getId()) new Term($user->getDisplayName($this->app['translator']), '', $this, $user->getId())
); );
} }

View File

@@ -9,6 +9,7 @@
* file that was distributed with this source code. * file that was distributed with this source code.
*/ */
use Alchemy\Phrasea\Model\Entities\Basket;
use Alchemy\Phrasea\Model\Entities\User; use Alchemy\Phrasea\Model\Entities\User;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
use Silex\Application; use Silex\Application;
@@ -199,7 +200,7 @@ interface API_V1_Interface
* BASKET_ID : required INT * BASKET_ID : required INT
* *
*/ */
public function delete_basket(Request $request, $basket_id); public function delete_basket(Request $request, Basket $basket);
/** /**
* Route : /baskets/BASKET_ID/content/FORMAT/ * Route : /baskets/BASKET_ID/content/FORMAT/
@@ -210,7 +211,7 @@ interface API_V1_Interface
* BASKET_ID : required INT * BASKET_ID : required INT
* *
*/ */
public function get_basket(Request $request, $basket_id); public function get_basket(Request $request, Basket $basket);
/** /**
* Route : /baskets/BASKET_ID/title/FORMAT/ * Route : /baskets/BASKET_ID/title/FORMAT/
@@ -221,7 +222,7 @@ interface API_V1_Interface
* BASKET_ID : required INT * BASKET_ID : required INT
* *
*/ */
public function set_basket_title(Request $request, $basket_id); public function set_basket_title(Request $request, Basket $basket);
/** /**
* Route : /baskets/BASKET_ID/description/FORMAT/ * Route : /baskets/BASKET_ID/description/FORMAT/
@@ -232,7 +233,7 @@ interface API_V1_Interface
* BASKET_ID : required INT * BASKET_ID : required INT
* *
*/ */
public function set_basket_description(Request $request, $basket_id); public function set_basket_description(Request $request, Basket $basket);
/** /**
* Route : /publications/list/FORMAT/ * Route : /publications/list/FORMAT/

View File

@@ -1287,17 +1287,12 @@ class API_V1_adapter extends API_V1_Abstract
* Delete a basket * Delete a basket
* *
* @param Request $request * @param Request $request
* @param int $basket_id * @param Basket $basket
* @return array * @return array
*/ */
public function delete_basket(Request $request, $basket_id) public function delete_basket(Request $request, Basket $basket)
{ {
$repository = $this->app['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Basket'); $this->app['EM']->remove($basket);
/* @var $repository Alchemy\Phrasea\Model\Repositories\BasketRepository */
$Basket = $repository->findUserBasket($this->app, $basket_id, $this->app['authentication']->getUser(), true);
$this->app['EM']->remove($Basket);
$this->app['EM']->flush(); $this->app['EM']->flush();
return $this->search_baskets($request); return $this->search_baskets($request);
@@ -1307,24 +1302,18 @@ class API_V1_adapter extends API_V1_Abstract
* Retrieve a basket * Retrieve a basket
* *
* @param Request $request * @param Request $request
* @param int $basket_id * @param Basket $basket
* @return API_V1_result * @return API_V1_result
*/ */
public function get_basket(Request $request, $basket_id) public function get_basket(Request $request, Basket $basket)
{ {
$result = new API_V1_result($this->app, $request, $this); $result = new API_V1_result($this->app, $request, $this);
$repository = $this->app['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Basket');
/* @var $repository Alchemy\Phrasea\Model\Repositories\BasketRepository */
$Basket = $repository->findUserBasket($this->app, $basket_id, $this->app['authentication']->getUser(), false);
$result->set_datas( $result->set_datas(
[ [
"basket" => $this->list_basket($Basket), "basket" => $this->list_basket($basket),
"basket_elements" => $this->list_basket_content($Basket) "basket_elements" => $this->list_basket_content($basket)
] ]
); );
return $result; return $result;
@@ -1404,26 +1393,19 @@ class API_V1_adapter extends API_V1_Abstract
* Change the name of one basket * Change the name of one basket
* *
* @param Request $request * @param Request $request
* @param int $basket_id * @param Basket $basket
* @return API_V1_result * @return API_V1_result
*/ */
public function set_basket_title(Request $request, $basket_id) public function set_basket_title(Request $request, Basket $basket)
{ {
$result = new API_V1_result($this->app, $request, $this); $result = new API_V1_result($this->app, $request, $this);
$name = $request->get('name'); $basket->setName($request->get('name'));
$repository = $this->app['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Basket'); $this->app['EM']->persist($basket);
/* @var $repository Alchemy\Phrasea\Model\Repositories\BasketRepository */
$Basket = $repository->findUserBasket($this->app, $basket_id, $this->app['authentication']->getUser(), true);
$Basket->setName($name);
$this->app['EM']->merge($Basket);
$this->app['EM']->flush(); $this->app['EM']->flush();
$result->set_datas(["basket" => $this->list_basket($Basket)]); $result->set_datas(["basket" => $this->list_basket($basket)]);
return $result; return $result;
} }
@@ -1432,26 +1414,19 @@ class API_V1_adapter extends API_V1_Abstract
* Change the description of one basket * Change the description of one basket
* *
* @param Request $request * @param Request $request
* @param type $basket_id * @param Basket $basket
* @return API_V1_result * @return API_V1_result
*/ */
public function set_basket_description(Request $request, $basket_id) public function set_basket_description(Request $request, Basket $basket)
{ {
$result = new API_V1_result($this->app, $request, $this); $result = new API_V1_result($this->app, $request, $this);
$desc = $request->get('description'); $basket->setDescription($request->get('description'));
$repository = $this->app['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Basket'); $this->app['EM']->persist($basket);
/* @var $repository Alchemy\Phrasea\Model\Repositories\BasketRepository */
$Basket = $repository->findUserBasket($this->app, $basket_id, $this->app['authentication']->getUser(), true);
$Basket->setDescription($desc);
$this->app['EM']->merge($Basket);
$this->app['EM']->flush(); $this->app['EM']->flush();
$result->set_datas(["basket" => $this->list_basket($Basket)]); $result->set_datas(["basket" => $this->list_basket($basket)]);
return $result; return $result;
} }

View File

@@ -172,7 +172,7 @@ class eventsmanager_notify_autoregister extends eventsmanager_notifyAbstract
$readyToSend = false; $readyToSend = false;
try { try {
$receiver = Receiver::fromUser($to, $this->app['translator']); $receiver = Receiver::fromUser($to);
$readyToSend = true; $readyToSend = true;
} catch (Exception $e) { } catch (Exception $e) {

View File

@@ -81,7 +81,7 @@ class eventsmanager_notify_bridgeuploadfail extends eventsmanager_notifyAbstract
try { try {
$user = $this->app['manipulator.user']->getRepository()->find($params['usr_id']); $user = $this->app['manipulator.user']->getRepository()->find($params['usr_id']);
$account = Bridge_Account::load_account($this->app, $params['account_id']); $account = Bridge_Account::load_account($this->app, $params['account_id']);
$receiver = Receiver::fromUser($user, $this->app['translator']); $receiver = Receiver::fromUser($user);
$readyToSend = true; $readyToSend = true;
} catch (\Exception $e) { } catch (\Exception $e) {

View File

@@ -97,7 +97,7 @@ class eventsmanager_notify_feed extends eventsmanager_notifyAbstract
$url = $this->app->url('lightbox', ['LOG' => $token]); $url = $this->app->url('lightbox', ['LOG' => $token]);
$receiver = Receiver::fromUser($user_to_notif, $this->app['translator']); $receiver = Receiver::fromUser($user_to_notif);
$readyToSend = true; $readyToSend = true;
} catch (\Exception $e) { } catch (\Exception $e) {

View File

@@ -102,7 +102,7 @@ class eventsmanager_notify_order extends eventsmanager_notifyAbstract
if ($this->shouldSendNotificationFor($user->getId())) { if ($this->shouldSendNotificationFor($user->getId())) {
$readyToSend = false; $readyToSend = false;
try { try {
$receiver = Receiver::fromUser($user, $this->app['translator']); $receiver = Receiver::fromUser($user);
$readyToSend = true; $readyToSend = true;
} catch (\Exception $e) { } catch (\Exception $e) {
continue; continue;

View File

@@ -95,8 +95,8 @@ class eventsmanager_notify_orderdeliver extends eventsmanager_notifyAbstract
$user_from = $this->app['manipulator.user']->getRepository()->find($params['from']); $user_from = $this->app['manipulator.user']->getRepository()->find($params['from']);
$user_to = $this->app['manipulator.user']->getRepository()->find($params['to']); $user_to = $this->app['manipulator.user']->getRepository()->find($params['to']);
$receiver = Receiver::fromUser($user_to, $this->app['translator']); $receiver = Receiver::fromUser($user_to);
$emitter = Emitter::fromUser($user_from, $this->app['translator']); $emitter = Emitter::fromUser($user_from);
$repository = $this->app['EM']->getRepository('Phraseanet:Basket'); $repository = $this->app['EM']->getRepository('Phraseanet:Basket');
$basket = $repository->find($params['ssel_id']); $basket = $repository->find($params['ssel_id']);

View File

@@ -78,8 +78,8 @@ class eventsmanager_notify_ordernotdelivered extends eventsmanager_notifyAbstrac
$user_from = $this->app['manipulator.user']->getRepository()->find($params['from']); $user_from = $this->app['manipulator.user']->getRepository()->find($params['from']);
$user_to = $this->app['manipulator.user']->getRepository()->find($params['to']); $user_to = $this->app['manipulator.user']->getRepository()->find($params['to']);
$receiver = Receiver::fromUser($user_to, $this->app['translator']); $receiver = Receiver::fromUser($user_to);
$emitter = Emitter::fromUser($user_from, $this->app['translator']); $emitter = Emitter::fromUser($user_from);
$readyToSend = true; $readyToSend = true;
} catch (Exception $e) { } catch (Exception $e) {

View File

@@ -86,8 +86,8 @@ class eventsmanager_notify_push extends eventsmanager_notifyAbstract
$user_from = $this->app['manipulator.user']->getRepository()->find($params['from']); $user_from = $this->app['manipulator.user']->getRepository()->find($params['from']);
$user_to = $this->app['manipulator.user']->getRepository()->find($params['to']); $user_to = $this->app['manipulator.user']->getRepository()->find($params['to']);
$receiver = Receiver::fromUser($user_to, $this->app['translator']); $receiver = Receiver::fromUser($user_to);
$emitter = Emitter::fromUser($user_from, $this->app['translator']); $emitter = Emitter::fromUser($user_from);
$readyToSend = true; $readyToSend = true;
} catch (\Exception $e) { } catch (\Exception $e) {

View File

@@ -103,7 +103,7 @@ class eventsmanager_notify_register extends eventsmanager_notifyAbstract
$readyToSend = false; $readyToSend = false;
try { try {
$admin_user = $this->app['manipulator.user']->getRepository()->find($usr_id); $admin_user = $this->app['manipulator.user']->getRepository()->find($usr_id);
$receiver = Receiver::fromUser($admin_user, $this->app['translator']); $receiver = Receiver::fromUser($admin_user);
$readyToSend = true; $readyToSend = true;
} catch (\Exception $e) { } catch (\Exception $e) {
continue; continue;

View File

@@ -109,7 +109,7 @@ class eventsmanager_notify_uploadquarantine extends eventsmanager_notifyAbstract
if ($this->shouldSendNotificationFor($user->getId())) { if ($this->shouldSendNotificationFor($user->getId())) {
$readyToSend = false; $readyToSend = false;
try { try {
$receiver = Receiver::fromUser($user, $this->app['translator']); $receiver = Receiver::fromUser($user);
$readyToSend = true; $readyToSend = true;
} catch (\Exception $e) { } catch (\Exception $e) {

View File

@@ -101,8 +101,8 @@ class eventsmanager_notify_validate extends eventsmanager_notifyAbstract
->find($params['ssel_id']); ->find($params['ssel_id']);
$title = $basket->getName(); $title = $basket->getName();
$receiver = Receiver::fromUser($user_to, $this->app['translator']); $receiver = Receiver::fromUser($user_to);
$emitter = Emitter::fromUser($user_from, $this->app['translator']); $emitter = Emitter::fromUser($user_from);
$readyToSend = true; $readyToSend = true;
} catch (\Exception $e) { } catch (\Exception $e) {

View File

@@ -96,8 +96,8 @@ class eventsmanager_notify_validationdone extends eventsmanager_notifyAbstract
->find($params['ssel_id']); ->find($params['ssel_id']);
$title = $basket->getName(); $title = $basket->getName();
$receiver = Receiver::fromUser($user_to, $this->app['translator']); $receiver = Receiver::fromUser($user_to);
$emitter = Emitter::fromUser($user_from, $this->app['translator']); $emitter = Emitter::fromUser($user_from);
$readyToSend = true; $readyToSend = true;
} catch (\Exception $e) { } catch (\Exception $e) {

View File

@@ -102,8 +102,8 @@ class eventsmanager_notify_validationreminder extends eventsmanager_notifyAbstra
->find($params['ssel_id']); ->find($params['ssel_id']);
$title = $basket->getName(); $title = $basket->getName();
$receiver = Receiver::fromUser($user_to, $this->app['translator']); $receiver = Receiver::fromUser($user_to);
$emitter = Emitter::fromUser($user_from, $this->app['translator']); $emitter = Emitter::fromUser($user_from);
$readyToSend = true; $readyToSend = true;
} catch (\Exception $e) { } catch (\Exception $e) {

View File

@@ -7,6 +7,7 @@ use Alchemy\Phrasea\Border\File;
use Alchemy\Phrasea\Core\PhraseaEvents; use Alchemy\Phrasea\Core\PhraseaEvents;
use Alchemy\Phrasea\Authentication\Context; use Alchemy\Phrasea\Authentication\Context;
use Alchemy\Phrasea\Model\Entities\Task; use Alchemy\Phrasea\Model\Entities\Task;
use Alchemy\Phrasea\Model\Entities\LazaretSession;
use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\ArrayCollection;
use Guzzle\Common\Exception\GuzzleException; use Guzzle\Common\Exception\GuzzleException;
use Symfony\Component\HttpKernel\Client; use Symfony\Component\HttpKernel\Client;
@@ -1926,7 +1927,7 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
protected function getQuarantineItem() protected function getQuarantineItem()
{ {
$lazaretSession = new \Alchemy\Phrasea\Model\Entities\LazaretSession(); $lazaretSession = new LazaretSession();
self::$DI['app']['EM']->persist($lazaretSession); self::$DI['app']['EM']->persist($lazaretSession);
$quarantineItem = null; $quarantineItem = null;

View File

@@ -34,9 +34,7 @@ class AuthenticatorTest extends \PhraseanetTestCase
$app['session'] = $session = $this->getSessionMock(); $app['session'] = $session = $this->getSessionMock();
$app['EM'] = $em = $this->getEntityManagerMock(); $app['EM'] = $em = $this->getEntityManagerMock();
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$authenticator = new Authenticator($app, $browser, $session, $em); $authenticator = new Authenticator($app, $browser, $session, $em);
$authenticator->setUser($user); $authenticator->setUser($user);
@@ -57,9 +55,7 @@ class AuthenticatorTest extends \PhraseanetTestCase
$app['session'] = $session = $this->getSessionMock(); $app['session'] = $session = $this->getSessionMock();
$app['EM'] = $em = $this->getEntityManagerMock(); $app['EM'] = $em = $this->getEntityManagerMock();
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$user->expects($this->any()) $user->expects($this->any())
->method('getId') ->method('getId')
->will($this->returnvalue(self::$DI['user']->getId())); ->will($this->returnvalue(self::$DI['user']->getId()));

View File

@@ -14,9 +14,7 @@ class ManagerTest extends \PhraseanetTestCase
$authenticator = $this->getAuthenticatorMock(); $authenticator = $this->getAuthenticatorMock();
$providers = $this->getProvidersMock(); $providers = $this->getProvidersMock();
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$session = $this->getMock('Alchemy\Phrasea\Model\Entities\Session'); $session = $this->getMock('Alchemy\Phrasea\Model\Entities\Session');

View File

@@ -14,7 +14,7 @@ class NativeAuthenticationTest extends \PhraseanetTestCase
$oldEncoder = $this->getOldEncoderMock(); $oldEncoder = $this->getOldEncoderMock();
$request = $this->getRequestMock(); $request = $this->getRequestMock();
$specialUser = $this->getMock('Alchemy\Phrasea\Model\Entities\User'); $specialUser = $this->createUserMock();
$specialUser->expects($this->any())->method('isSpecial')->will($this->returnValue(true)); $specialUser->expects($this->any())->method('isSpecial')->will($this->returnValue(true));
$manipulator = $this->getUserManipulatorMock($specialUser); $manipulator = $this->getUserManipulatorMock($specialUser);
@@ -40,7 +40,7 @@ class NativeAuthenticationTest extends \PhraseanetTestCase
$oldEncoder = $this->getOldEncoderMock(); $oldEncoder = $this->getOldEncoderMock();
$request = $this->getRequestMock(); $request = $this->getRequestMock();
$mailLockedUser = $this->getMock('Alchemy\Phrasea\Model\Entities\User'); $mailLockedUser = $this->createUserMock();
$mailLockedUser->expects($this->any())->method('isMailLocked')->will($this->returnValue(true)); $mailLockedUser->expects($this->any())->method('isMailLocked')->will($this->returnValue(true));
$manipulator = $this->getUserManipulatorMock($mailLockedUser); $manipulator = $this->getUserManipulatorMock($mailLockedUser);
@@ -66,7 +66,7 @@ class NativeAuthenticationTest extends \PhraseanetTestCase
$oldEncoder = $this->getOldEncoderMock(); $oldEncoder = $this->getOldEncoderMock();
$request = $this->getRequestMock(); $request = $this->getRequestMock();
$user = $this->getMock('Alchemy\Phrasea\Model\Entities\User'); $user = $this->createUserMock();
$user->expects($this->any())->method('getId')->will($this->returnValue($userId)); $user->expects($this->any())->method('getId')->will($this->returnValue($userId));
$user->expects($this->any())->method('isSpecial')->will($this->returnValue(false)); $user->expects($this->any())->method('isSpecial')->will($this->returnValue(false));
@@ -101,7 +101,7 @@ class NativeAuthenticationTest extends \PhraseanetTestCase
$oldEncoder = $this->getOldEncoderMock(); $oldEncoder = $this->getOldEncoderMock();
$request = $this->getRequestMock(); $request = $this->getRequestMock();
$user = $this->getMock('Alchemy\Phrasea\Model\Entities\User'); $user = $this->createUserMock();
$user->expects($this->any())->method('getId')->will($this->returnValue($userId)); $user->expects($this->any())->method('getId')->will($this->returnValue($userId));
$user->expects($this->any())->method('isSpecial')->will($this->returnValue(false)); $user->expects($this->any())->method('isSpecial')->will($this->returnValue(false));
@@ -136,7 +136,7 @@ class NativeAuthenticationTest extends \PhraseanetTestCase
$oldEncoder = $this->getOldEncoderMock(); $oldEncoder = $this->getOldEncoderMock();
$request = $this->getRequestMock(); $request = $this->getRequestMock();
$user = $this->getMock('Alchemy\Phrasea\Model\Entities\User'); $user = $this->createUserMock();
$user->expects($this->any())->method('getId')->will($this->returnValue($userId)); $user->expects($this->any())->method('getId')->will($this->returnValue($userId));
$user->expects($this->any())->method('isSpecial')->will($this->returnValue(false)); $user->expects($this->any())->method('isSpecial')->will($this->returnValue(false));
@@ -173,7 +173,7 @@ class NativeAuthenticationTest extends \PhraseanetTestCase
$oldEncoder = $this->getOldEncoderMock(); $oldEncoder = $this->getOldEncoderMock();
$request = $this->getRequestMock(); $request = $this->getRequestMock();
$user = $this->getMock('Alchemy\Phrasea\Model\Entities\User'); $user = $this->createUserMock();
$user->expects($this->any())->method('getId')->will($this->returnValue($userId)); $user->expects($this->any())->method('getId')->will($this->returnValue($userId));
$user->expects($this->any())->method('isSpecial')->will($this->returnValue(false)); $user->expects($this->any())->method('isSpecial')->will($this->returnValue(false));

View File

@@ -52,10 +52,7 @@ class DownloadTest extends \PhraseanetAuthenticatedWebTestCase
self::$DI['app']['events-manager'] = $eventManagerStub; self::$DI['app']['events-manager'] = $eventManagerStub;
self::$DI['app']['authentication']->setUser($this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') self::$DI['app']['authentication']->setUser($this->createUserMock());
->setMethods(['ACL'])
->disableOriginalConstructor()
->getMock());
$stubbedACL = $this->getMockBuilder('\ACL') $stubbedACL = $this->getMockBuilder('\ACL')
->disableOriginalConstructor() ->disableOriginalConstructor()

View File

@@ -1074,7 +1074,7 @@ class LoginTest extends \PhraseanetAuthenticatedWebTestCase
self::$DI['client']->request('POST', '/login/register-classic/', $parameters); self::$DI['client']->request('POST', '/login/register-classic/', $parameters);
if (null === $user = $user= self::$DI['app']['manipulator.user']->getRepository()->findByEmail($parameters['email'])) { if (null === $user = self::$DI['app']['manipulator.user']->getRepository()->findByEmail($parameters['email'])) {
$this->fail('User not created'); $this->fail('User not created');
} }
$this->assertTrue(self::$DI['client']->getResponse()->isRedirect()); $this->assertTrue(self::$DI['client']->getResponse()->isRedirect());

View File

@@ -106,9 +106,7 @@ class SetupTest extends \PhraseanetWebTestCase
->disableOriginalConstructor() ->disableOriginalConstructor()
->getMock(); ->getMock();
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$user->expects($this->once()) $user->expects($this->once())
->method('getId') ->method('getId')

View File

@@ -47,7 +47,7 @@ class DisplaySettingServiceTest extends \PhraseanetTestCase
'lalala' => 'didou', 'lalala' => 'didou',
]); ]);
$user = $this->getMock('Alchemy\Phrasea\Model\Entities\User'); $user = $this->createUserMock();
$user->expects($this->any())->method('getSettings')->will($this->returnValue(new ArrayCollection())); $user->expects($this->any())->method('getSettings')->will($this->returnValue(new ArrayCollection()));
$this->assertNull(self::$DI['app']['settings']->getUserSetting($user, 'lalala')); $this->assertNull(self::$DI['app']['settings']->getUserSetting($user, 'lalala'));

View File

@@ -156,7 +156,7 @@ class AuthenticationManagerServiceProviderTest extends ServiceProviderTestCase
return $u->getLogin(); return $u->getLogin();
}, self::$DI['app']['authentication.providers.account-creator']->getTemplates())); }, self::$DI['app']['authentication.providers.account-creator']->getTemplates()));
self::$DI['app']['model.user-manager']->delete($template1); $this->removeUser(self::$DI['app'], $template1);
self::$DI['app']['model.user-manager']->delete($template2); $this->removeUser(self::$DI['app'], $template2);
} }
} }

View File

@@ -86,6 +86,6 @@ class ACLManipulatorTest extends \PhraseanetTestCase
$this->assertEquals(0, $acl->get_limits($acl->get_mask_xor($baseId))); $this->assertEquals(0, $acl->get_limits($acl->get_mask_xor($baseId)));
$this->assertEquals(0, $acl->get_limits($acl->get_mask_and($baseId))); $this->assertEquals(0, $acl->get_limits($acl->get_mask_and($baseId)));
self::$DI['app']['model.user-manager']->delete($user); $this->removeUser(self::$DI['app'], $user);
} }
} }

View File

@@ -42,9 +42,7 @@ class EmitterTest extends \PhraseanetTestCase
*/ */
public function testFromUser() public function testFromUser()
{ {
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$user->expects($this->any()) $user->expects($this->any())
->method('getDisplayName') ->method('getDisplayName')
@@ -54,7 +52,7 @@ class EmitterTest extends \PhraseanetTestCase
->method('getEmail') ->method('getEmail')
->will($this->returnValue($this->email)); ->will($this->returnValue($this->email));
$object = Emitter::fromUser($user, self::$DI['app']['translator']); $object = Emitter::fromUser($user);
$this->assertEquals($this->email, $object->getEmail()); $this->assertEquals($this->email, $object->getEmail());
$this->assertEquals($this->name, $object->getName()); $this->assertEquals($this->name, $object->getName());
} }
@@ -64,9 +62,7 @@ class EmitterTest extends \PhraseanetTestCase
*/ */
public function testFromUserFails() public function testFromUserFails()
{ {
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$user->expects($this->any()) $user->expects($this->any())
->method('getDisplayName') ->method('getDisplayName')
@@ -77,7 +73,7 @@ class EmitterTest extends \PhraseanetTestCase
->will($this->returnValue('wrong email')); ->will($this->returnValue('wrong email'));
try { try {
Emitter::fromUser($user, self::$DI['app']['translator']); Emitter::fromUser($user);
$this->fail('Should have raised an exception'); $this->fail('Should have raised an exception');
} catch (InvalidArgumentException $e) { } catch (InvalidArgumentException $e) {

View File

@@ -41,9 +41,7 @@ class MailInfoNewOrderTest extends MailTestCase
$this->getMessage() $this->getMessage()
); );
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$user->expects($this->any()) $user->expects($this->any())
->method('getDisplayName') ->method('getDisplayName')

View File

@@ -29,9 +29,7 @@ class MailInfoOrderCancelledTest extends MailTestCase
$this->getMessage() $this->getMessage()
); );
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$user->expects($this->any()) $user->expects($this->any())
->method('getDisplayName') ->method('getDisplayName')
@@ -74,9 +72,7 @@ class MailInfoOrderCancelledTest extends MailTestCase
$this->getMessage() $this->getMessage()
); );
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$user->expects($this->any()) $user->expects($this->any())
->method('getDisplayName') ->method('getDisplayName')

View File

@@ -53,9 +53,7 @@ class MailInfoOrderDeliveredTest extends MailTestCase
$this->getMessage() $this->getMessage()
); );
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$user->expects($this->any()) $user->expects($this->any())
->method('getDisplayName') ->method('getDisplayName')
@@ -88,9 +86,7 @@ class MailInfoOrderDeliveredTest extends MailTestCase
->method('getId') ->method('getId')
->will($this->returnValue(42)); ->will($this->returnValue(42));
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$user->expects($this->any()) $user->expects($this->any())
->method('getDisplayName') ->method('getDisplayName')

View File

@@ -28,9 +28,7 @@ class MailInfoPushReceivedTest extends MailWithLinkTestCase
$this->getExpiration() $this->getExpiration()
); );
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$user->expects($this->any()) $user->expects($this->any())
->method('getFirstName') ->method('getFirstName')
@@ -110,9 +108,7 @@ class MailInfoPushReceivedTest extends MailWithLinkTestCase
->method('getElements') ->method('getElements')
->will($this->returnValue($collection)); ->will($this->returnValue($collection));
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$user->expects($this->any()) $user->expects($this->any())
->method('getDisplayName') ->method('getDisplayName')

View File

@@ -46,9 +46,7 @@ class MailInfoUserRegisteredTest extends MailTestCase
$this->getMessage() $this->getMessage()
); );
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$user->expects($this->any()) $user->expects($this->any())
->method('getFirstName') ->method('getFirstName')

View File

@@ -38,9 +38,7 @@ class MailInfoValidationDoneTest extends MailWithLinkTestCase
$this->getExpiration() $this->getExpiration()
); );
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$user->expects($this->any()) $user->expects($this->any())
->method('getDisplayName') ->method('getDisplayName')
@@ -95,9 +93,7 @@ class MailInfoValidationDoneTest extends MailWithLinkTestCase
$this->getExpiration() $this->getExpiration()
); );
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$user->expects($this->any()) $user->expects($this->any())
->method('getDisplayName') ->method('getDisplayName')

View File

@@ -47,9 +47,7 @@ class MailInfoValidationRequestTest extends MailWithLinkTestCase
$this->getExpiration() $this->getExpiration()
); );
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$user->expects($this->any()) $user->expects($this->any())
->method('getDisplayName') ->method('getDisplayName')
@@ -81,9 +79,7 @@ class MailInfoValidationRequestTest extends MailWithLinkTestCase
$this->getExpiration() $this->getExpiration()
); );
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$user->expects($this->any()) $user->expects($this->any())
->method('getDisplayName') ->method('getDisplayName')

View File

@@ -42,9 +42,7 @@ class ReceiverTest extends \PhraseanetTestCase
*/ */
public function testFromUser() public function testFromUser()
{ {
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$user->expects($this->any()) $user->expects($this->any())
->method('getDisplayName') ->method('getDisplayName')
@@ -54,7 +52,7 @@ class ReceiverTest extends \PhraseanetTestCase
->method('getEmail') ->method('getEmail')
->will($this->returnValue($this->email)); ->will($this->returnValue($this->email));
$object = Receiver::fromUser($user, self::$DI['app']['translator']); $object = Receiver::fromUser($user);
$this->assertEquals($this->email, $object->getEmail()); $this->assertEquals($this->email, $object->getEmail());
$this->assertEquals($this->name, $object->getName()); $this->assertEquals($this->name, $object->getName());
} }
@@ -64,9 +62,7 @@ class ReceiverTest extends \PhraseanetTestCase
*/ */
public function testFromUserFailed() public function testFromUserFailed()
{ {
$user = $this->getMockBuilder('Alchemy\Phrasea\Model\Entities\User') $user = $this->createUserMock();
->disableOriginalConstructor()
->getMock();
$user->expects($this->any()) $user->expects($this->any())
->method('getDisplayName') ->method('getDisplayName')
@@ -77,7 +73,7 @@ class ReceiverTest extends \PhraseanetTestCase
->will($this->returnValue('wrong user')); ->will($this->returnValue('wrong user'));
try { try {
Receiver::fromUser($user, self::$DI['app']['translator']); Receiver::fromUser($user);
$this->fail('Should have raised an exception'); $this->fail('Should have raised an exception');
} catch (InvalidArgumentException $e) { } catch (InvalidArgumentException $e) {

View File

@@ -3,6 +3,7 @@
namespace Alchemy\Tests\Phrasea\Vocabulary\ControlProvider; namespace Alchemy\Tests\Phrasea\Vocabulary\ControlProvider;
use Alchemy\Phrasea\Vocabulary\ControlProvider\UserProvider; use Alchemy\Phrasea\Vocabulary\ControlProvider\UserProvider;
use Doctrine\ORM\EntityManager;
class UserProviderTest extends \PhraseanetTestCase class UserProviderTest extends \PhraseanetTestCase
{ {
@@ -39,29 +40,31 @@ class UserProviderTest extends \PhraseanetTestCase
public function testFind() public function testFind()
{ {
self::$DI['app']['EM'] = self::$DI['app']['EM.prod']; // mandatory until user rights are managed by doctrine
$user = self::$DI['app']['manipulator.user']->createUser(uniqid('test'), 'a_password', uniqid('test').'@titi.tu'); self::$DI['app']['EM'] = EntityManager::create(self::$DI['app']['conf']->get(['main', 'database']), self::$DI['app']['EM.config'], self::$DI['app']['EM.events-manager']);
$user = self::$DI['app']['manipulator.user']->createUser(uniqid('test'), 'a_password', uniqid('test').'@domain.fr');
self::giveRightsToUser(self::$DI['app'], $user); self::giveRightsToUser(self::$DI['app'], $user);
$user->setFirstName('toto'); $user->setFirstName('John');
$user->setLastName('tata'); $user->setLastName('Doe');
self::$DI['app']['EM']->persist($user); self::$DI['app']['EM']->persist($user);
self::$DI['app']['EM']->flush(); self::$DI['app']['EM']->flush();
$results = $this->object->find('BABE', $user, self::$DI['app']['translator'], self::$DI['collection']->get_databox()); $results = $this->object->find('BABE', $user, self::$DI['collection']->get_databox());
$this->assertInstanceOf('\\Doctrine\\Common\\Collections\\ArrayCollection', $results); $this->assertInstanceOf('\\Doctrine\\Common\\Collections\\ArrayCollection', $results);
$results = $this->object->find($user->getEmail(), $user,self::$DI['app']['translator'], self::$DI['collection']->get_databox()); $results = $this->object->find($user->getEmail(), $user, self::$DI['collection']->get_databox());
$this->assertInstanceOf('\\Doctrine\\Common\\Collections\\ArrayCollection', $results); $this->assertInstanceOf('\\Doctrine\\Common\\Collections\\ArrayCollection', $results);
$this->assertTrue($results->count() > 0); $this->assertTrue($results->count() > 0);
$results = $this->object->find($user->getFirstName(), $user, self::$DI['app']['translator'], self::$DI['collection']->get_databox()); $results = $this->object->find($user->getFirstName(), $user, self::$DI['collection']->get_databox());
$this->assertInstanceOf('\\Doctrine\\Common\\Collections\\ArrayCollection', $results); $this->assertInstanceOf('\\Doctrine\\Common\\Collections\\ArrayCollection', $results);
$this->assertTrue($results->count() > 0); $this->assertTrue($results->count() > 0);
$results = $this->object->find($user->getLastName(), $user, self::$DI['app']['translator'], self::$DI['collection']->get_databox()); $results = $this->object->find($user->getLastName(), $user, self::$DI['collection']->get_databox());
$this->assertInstanceOf('\\Doctrine\\Common\\Collections\\ArrayCollection', $results); $this->assertInstanceOf('\\Doctrine\\Common\\Collections\\ArrayCollection', $results);
$this->assertTrue($results->count() > 0); $this->assertTrue($results->count() > 0);

View File

@@ -5,7 +5,6 @@ use Alchemy\Phrasea\Application;
use Alchemy\Phrasea\Border\File; use Alchemy\Phrasea\Border\File;
use Alchemy\Phrasea\Model\Entities\Session; use Alchemy\Phrasea\Model\Entities\Session;
use Alchemy\Phrasea\Model\Entities\User; use Alchemy\Phrasea\Model\Entities\User;
use Doctrine\ORM\EntityManager;
use Monolog\Logger; use Monolog\Logger;
use Monolog\Handler\NullHandler; use Monolog\Handler\NullHandler;
use Silex\WebTestCase; use Silex\WebTestCase;
@@ -14,6 +13,7 @@ use Symfony\Component\HttpKernel\Client;
use Symfony\Component\DomCrawler\Crawler; use Symfony\Component\DomCrawler\Crawler;
use Symfony\Component\Routing\RequestContext; use Symfony\Component\Routing\RequestContext;
use Alchemy\Tests\Tools\TranslatorMockTrait; use Alchemy\Tests\Tools\TranslatorMockTrait;
use Alchemy\Phrasea\Authentication\ACLProvider;
use Guzzle\Http\Client as Guzzle; use Guzzle\Http\Client as Guzzle;
abstract class PhraseanetTestCase extends WebTestCase abstract class PhraseanetTestCase extends WebTestCase
@@ -287,33 +287,11 @@ abstract class PhraseanetTestCase extends WebTestCase
->method('getSubscribedEvents') ->method('getSubscribedEvents')
->will($this->returnValue([])); ->will($this->returnValue([]));
$app['translator'] = $this->createTranslatorMock(); $app['EM'] = $app->share($app->extend('EM', function ($em) {
$app['EM'] = $app->share(function ($app) {
return $app['EM.test'];
});
$app['EM.test'] = $app->share(function ($app) {
$this->initializeSqliteDB(); $this->initializeSqliteDB();
try {
$em = EntityManager::create($app['conf']->get(['main', 'database-test']), $app['EM.config'], $app['EM.events-manager']);
} catch (\Exception $e) {
throw new RuntimeException("Unable to create database connection", $e->getCode(), $e);
}
return $em; return $em;
}); }));
$app['EM.prod'] = $app->share(function ($app) {
try {
$em = EntityManager::create($app['conf']->get(['main', 'database']), $app['EM.config'], $app['EM.events-manager']);
} catch (\Exception $e) {
throw new RuntimeException("Unable to create database connection", $e->getCode(), $e);
}
return $em;
});
$app['browser'] = $app->share($app->extend('browser', function ($browser) { $app['browser'] = $app->share($app->extend('browser', function ($browser) {
$browser->setUserAgent(self::USER_AGENT_FIREFOX8MAC); $browser->setUserAgent(self::USER_AGENT_FIREFOX8MAC);
@@ -334,7 +312,7 @@ abstract class PhraseanetTestCase extends WebTestCase
public function tearDown() public function tearDown()
{ {
\Alchemy\Phrasea\Authentication\ACLProvider::purge(); ACLProvider::purge();
\collection::purge(); \collection::purge();
\databox::purge(); \databox::purge();
\caption_field::purge(); \caption_field::purge();
@@ -342,7 +320,6 @@ abstract class PhraseanetTestCase extends WebTestCase
\databox_field::purge(); \databox_field::purge();
\databox_status::purge(); \databox_status::purge();
\thesaurus_xpath::purge(); \thesaurus_xpath::purge();
\User_Adapter::purge();
/** /**
* Kris Wallsmith pro-tip * Kris Wallsmith pro-tip
@@ -635,4 +612,15 @@ abstract class PhraseanetTestCase extends WebTestCase
->disableOriginalConstructor() ->disableOriginalConstructor()
->getMock(); ->getMock();
} }
public function createUserMock()
{
return $this->getMock('Alchemy\Phrasea\Model\Entities\User');
}
public function removeUser(Application $app, User $user)
{
$app['EM']->remove($user);
$app['EM']->flush();
}
} }

View File

@@ -1071,7 +1071,7 @@ class User extends \Alchemy\Phrasea\Model\Entities\User implements \Doctrine\ORM
/** /**
* {@inheritDoc} * {@inheritDoc}
*/ */
public function getDisplayName(\Symfony\Component\Translation\TranslatorInterface $translator) public function getDisplayName(\Symfony\Component\Translation\TranslatorInterface $translator = NULL)
{ {
$this->__initializer__ && $this->__initializer__->__invoke($this, 'getDisplayName', array($translator)); $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDisplayName', array($translator));