public function testCreate() { $userId = null; \Yii::$app->on(User::EVENT_CREATED, function ($event) use(&$userId) { $userId = $event->user->getId(); }); $data = ['id' => 0, 'name' => 'test name', 'email' => '*****@*****.**', 'password' => 'test pass']; $user = new User(); $user->create($data); $this->assertTrue($user->create($data)); $this->assertNotEquals($data['id'], $userId); $this->assertEquals($user->getId(), $userId); $this->assertEquals($data['name'], $user->getName()); $this->assertEquals($data['email'], $user->getEmail()); $record = User::findByEmailAndPassword($data['email'], $data['password']); $this->assertInstanceOf(User::class, $record); $this->assertEquals($user->getId(), $record->getId()); }
/** * Generates new token for user. * * @param User $user * @return bool */ public function generate($user) { $this->setUserId($user->getId())->setToken((new Security())->generateRandomString()); if (!$this->save()) { return false; } \Yii::$app->trigger(self::EVENT_CREATED, new TokenEvent($this)); return true; }