public function testAcceptApprovedPortfolioException()
 {
     $client = $this->getMockClient();
     $this->setExpectedException('RuntimeException', sprintf('Client with id: %s does not have advisor approved portfolio', $client->getId()));
     $this->repository->expects($this->once())->method('findOneBy')->with($this->equalTo(array('client' => $client, 'status' => ClientPortfolio::STATUS_ADVISOR_APPROVED)))->will($this->returnValue(null));
     $this->manager->acceptApprovedPortfolio($client);
 }
 /**
  * @param User $ria
  * @param ClientPortfolioManager $clientPortfolioManager
  * @return \Doctrine\ORM\QueryBuilder
  */
 public function getLatestClientAccountValuesForClientsQuery(User $ria, ClientPortfolioManager $clientPortfolioManager)
 {
     $clients = $this->userManager->findClientsByRia($ria);
     $clientPortfolios = array();
     foreach ($clients as $client) {
         $activePortfolio = $clientPortfolioManager->getCurrentPortfolio($client);
         if ($activePortfolio) {
             $clientPortfolios[] = $activePortfolio;
         }
     }
     return $this->repo->findLatestValuesForClientsQuery($clientPortfolios);
 }
 /**
  * Submit client suggested portfolio
  *
  * @param Profile $profile
  */
 private function submit(Profile $profile)
 {
     $proposedPortfolio = $this->form->get('client')->get('portfolio')->getData();
     $client = $profile->getUser();
     $riaCompanyInfo = $client->getRiaCompanyInformation();
     //$client->submitFinalPortfolio();
     $this->clientPortfolioManager->approveProposedPortfolio($client, $proposedPortfolio);
     $profile->setRegistrationStep(4);
     // If client account managed is null set ria account managed for client
     if (null === $profile->getClientAccountManaged() && $riaCompanyInfo) {
         $profile->setClientAccountManaged($riaCompanyInfo->getAccountManaged());
     }
     $this->em->persist($client);
     $this->em->flush();
     $mailer = $this->getOption('mailer');
     if ($mailer instanceof MailerInterface) {
         $mailer->sendClientPortfolioIsSubmittedEmail($client);
     }
 }