/** * Find user by provider * * @return app\models\User|null */ private function findUserByProvider() { $profile = $this->client->getUserAttributes(); $id = ArrayHelper::getValue($profile, 'id'); if ($provider = UserProvider::findByProvider($this->type, $id)) { $user = $provider->user; $provider->setAttributes($this->parseProvider()); $provider->save(); return $user; } return null; }
public function testFindByProvider() { expect_that($provider = UserProvider::findByProvider(UserProvider::TYPE_TWITTER, 'twitter-id')); expect($provider->user_id)->equals(2); expect_not(UserProvider::findByProvider(UserProvider::TYPE_TWITTER, 'wrong-id')); }