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);
 }