public function testItShould_createNewUser_withAuthDriver() { $input = ['email' => $this->randomEmail(), 'password' => uniqid()]; $driver = uniqid(); $user = $this->repository->create($input, $driver); $this->assertInstanceOf(User::class, $user); // ensure email was stored $this->assertEquals($input['email'], $user->email); // ensure password was hashed $this->assertFalse(Hash::check($input['password'], $user->password)); // ensure api_token was created $this->assertTrue(isset($user->api_token)); // ensure api_token is valid $this->assertTrue(auth()->guard('api')->validate(['api_token' => $user->api_token])); // ensure auth_driver was set $this->assertEquals($driver, $user->auth_driver); }
/** * @param Request $request * @param UserRepository $userRepository * @return Response */ public function register(Request $request, UserRepository $userRepository) { $this->validate($request, ['email' => 'required|email|max:255|unique:users', 'password' => 'required|min:6']); $user = $userRepository->create($request->all()); return $this->response($user->makeVisible('api_token')); }
/** * Create a new user instance after a valid registration. * * @param array $attributes * @return User */ protected function create(array $attributes) { return $this->userRepository->create($attributes); }