public function testSendVerificationLinkShowFailure() { $trait = $this->getTraitMock(['validate']); $trait->expects($this->once())->method('validate'); $request = $this->getRequestMock(); $request->shouldReceive('only')->with('email')->andReturn(['email' => 'mail']); Verification::shouldReceive('broker')->andReturn($broker = $this->getBrokerMock()); $broker->shouldReceive('sendVerificationLink')->once()->andReturn(VerificationBroker::INVALID_USER); $this->laravelContainer->shouldReceive('make')->with('redirect', [])->andReturn($redirect = $this->getRedirectMock()); $redirect->shouldReceive('back')->andReturn($response = m::mock('stdClass')); $response->shouldReceive('withErrors')->with(['email' => 'translated'])->andReturn('redirect'); $this->laravelContainer->shouldReceive('make')->with('translator', [])->andReturn($translator = m::mock('stdClass')); $translator->shouldReceive('trans')->andReturn('translated'); $this->assertEquals('redirect', $trait->postResend($request)); }
/** * Handle a registration request for the application. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function register(Request $request) { $validator = $this->validator($request->all()); if ($validator->fails()) { $this->throwValidationException($request, $validator); } $user = $this->create($request->all()); $broker = $this->getBroker(); $credentials = $request->only('email'); Verification::broker($broker)->sendVerificationLink($credentials, function (Message $message) { $message->subject($this->getEmailSubject()); }); if (config('verification.verify')) { return redirect($this->verificationRedirectPath()); } Auth::guard($this->getGuard())->login($user); return redirect($this->redirectPath()); }
/** * Send a verification link to the given user. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function sendVerificationLinkEmail(Request $request) { $this->validate($request, ['email' => 'required|email']); $broker = $this->getBroker(); $credentials = $request->only('email'); $response = Verification::broker($broker)->sendVerificationLink($credentials, function (Message $message) { $message->subject($this->getEmailSubject()); }); switch ($response) { case Contracts\VerificationBroker::VERIFICATION_LINK_SENT: return $this->getResendLinkEmailSuccessResponse($response); default: return $this->getResendLinkEmailFailureResponse($response); } }