/** * @param ApplicationUserId $userId * @param Account $account */ private function updateUserThirdPartyAccount(ApplicationUserId $userId, Account $account) { $user = $this->finder->find((string) $userId); if (!$user) { return; } $user->setThirdPartyAccount($account); $this->finder->save($user); }
/** * Handle an event. * * @param EventInterface $event * @param Context $context * * @return void */ public function handle(EventInterface $event, Context $context = null) { if (!($event instanceof UserEvent && $event->getUserId())) { return; } // Build message $user = $this->userFinder->find($event->getUserId()); $this->logger->info('Send message', ['user' => $user->getName(), 'type' => $event->getName()]); $messageContext = null; if ($context) { $messageContext = $this->messageFinder->findByReference($context->getValue()); } $message = $this->messageFactory->buildMessage([$user], $event); if (!$message) { $this->logger->warning('Message could not be generated'); return; } $this->messageSender->send($message, $messageContext ? $messageContext->getSource() : null); }
private function givenTheUserExists() { $this->userFinder->shouldReceive('find')->with($this->userId)->andReturn($this->user)->once(); }
private function assertUserWillNotBeSaved() { $this->appUserFinder->shouldReceive('save')->with($this->user)->never(); }