/**
  * @expectedException \LaravelItalia\Exceptions\NotFoundException
  */
 public function testCanFindByConfirmationCodeThrowsException()
 {
     $this->userRepository->findByConfirmationCode('wololooooooo');
 }
 /**
  * @param Request $request
  * @param UserRepository $userRepository
  * @param $confirmationCode
  * @return \Illuminate\Http\RedirectResponse
  * @throws \Exception
  */
 public function postInvitation(Request $request, UserRepository $userRepository, $confirmationCode)
 {
     /* @var User $user */
     $user = $userRepository->findByConfirmationCode($confirmationCode);
     if (!$user) {
         return redirect('admin/login')->with('errors', Collection::make(['Codice di conferma non riconosciuto. Riprovare.']));
     }
     if ($user->email !== $request->get('email')) {
         return redirect('admin/invitation/' . $confirmationCode)->with('errors', Collection::make(['L\'indirizzo email inserito non corrisponde a quello del codice.']));
     }
     $user->setNewPassword($request->get('password'));
     $user->confirm();
     try {
         $userRepository->save($user);
     } catch (NotSavedException $e) {
         return redirect('admin/invitation/' . $confirmationCode)->with('errors', Collection::make(['Problemi in fase di salvataggio della password. Riprovare.']));
     }
     return redirect('admin/login')->with('message', 'Editor registrato! Effettua l\'accesso inserendo le credenziali scelte.');
 }