public function testModify() { $userId = null; \Yii::$app->on(User::EVENT_MODIFIED, function ($event) use(&$userId) { $userId = $event->user->getId(); }); $data = ['id' => 1, 'name' => 'test name', 'email' => '*****@*****.**', 'password' => 'test pass']; $user = User::find()->byId($data['id'])->one(); $this->assertInstanceOf(User::class, $user); $this->assertTrue($user->modify($data)); $this->assertEquals($user->getId(), $userId); $this->assertEquals($user->getName(), $data['name']); $this->assertNotEquals($user->getEmail(), $data['email']); $record = User::findByEmailAndPassword($data['email'], $data['password']); $this->assertNull($record); }
/** * @api {post} /users/token Generate new token for user. * @apiName GenerateToken * @apiGroup Users * * @apiParam {String} email Email of user * @apiParam {String} password Password of user * * @apiSuccess {String} token New auth token * @apiSuccess {String} created_at Date created */ public function actionGenerateToken() { $request = \Yii::$app->getRequest(); $user = User::findByEmailAndPassword($request->post('email'), $request->post('password')); if (!$user) { throw new NotFoundHttpException(); } $token = new Token(); if ($token->generate($user)) { return $token; } else { throw new ModelValidateException($token); } }