예제 #1
0
 /**
  * find user by username or create a new user
  * @param
  * @return
  */
 public function findByProviderIdOrCreate($userData, $provider)
 {
     $user = User::where('provider_id', '=', $userData->id)->first();
     if (!$user) {
         $user = User::create(['fullname' => $userData->getName(), 'username' => $userData->getId(), 'provider_id' => $userData->getId(), 'avatar' => $userData->getAvatar(), 'provider' => $provider]);
     }
     $this->checkIfUserNeedsUpdating($userData, $user);
     return $user;
 }
예제 #2
0
 /**
  * findByIDorCreate check if user already exist
  *
  * @param  $userData
  * @param  $provider
  */
 public function findByIDorCreate($data, $provider)
 {
     $columnName = $provider . 'ID';
     $user = $this->checkUserExist($userData, $provider);
     if ($user) {
         User::where('id', $user->id)->update([$columnName => $userData->getId()]);
         return $user;
     }
 }
예제 #3
0
 public function testFacebookSocialOAuth()
 {
     User::create(['id' => 1, 'fullname' => 'florence', 'username' => 'florence', 'provider_id' => 1146673212009898, 'avatar' => 'https://graph.facebook.com/v2.5/1146673212009898/picture?type=normal']);
     $user = User::where('provider_id', '=', 1146673212009898)->first();
     $userData = ['id' => 1146673212009898, 'nickname' => 'florence', 'name' => 'florence', 'email' => '*****@*****.**', 'avatar' => 'https://graph.facebook.com/v2.5/1146673212009898/picture?type=normal'];
     $provider = 'github';
     $mock = Mockery::mock('Techademia\\Repositories\\UserRepository');
     $mock->shouldReceive('findByProviderIdOrCreate')->with($userData, $provider)->andReturn($user);
     $this->assertSame($user, $mock->findByProviderIdOrCreate($userData, $provider));
 }