You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.6 KiB
58 lines
1.6 KiB
<?php namespace Tests\Aauth\Database; |
|
|
|
use CodeIgniter\Test\CIDatabaseTestCase; |
|
use App\Models\Aauth\LoginTokenModel; |
|
|
|
class LoginTokenModelTest extends CIDatabaseTestCase |
|
{ |
|
protected $refresh = true; |
|
|
|
protected $basePath = TESTPATH . '../application' . 'Database/Migrations'; |
|
|
|
protected $namespace = 'App'; |
|
|
|
public function setUp() |
|
{ |
|
parent::setUp(); |
|
|
|
$this->model = new LoginTokenModel($this->db); |
|
} |
|
|
|
//-------------------------------------------------------------------- |
|
|
|
public function testInsert() |
|
{ |
|
$this->model->insert(['user_id' => 99, 'random_hash' => 'random_hash9999']); |
|
$loginTokens = $this->model->findAllByUserId(99); |
|
$this->assertCount(1, $loginTokens); |
|
} |
|
|
|
public function testUpdate() |
|
{ |
|
$this->model->insert(['user_id' => 99, 'random_hash' => 'random_hash9999']); |
|
$oldLoginTokens = $this->model->findAllByUserId(99); |
|
$oldLoginToken = $oldLoginTokens[0]; |
|
sleep(5); |
|
$this->model->update($oldLoginToken['id']); |
|
$loginTokens = $this->model->findAllByUserId(99); |
|
$loginToken = $loginTokens[0]; |
|
$this->assertNotEquals($oldLoginToken['expires_at'], $loginToken['expires_at']); |
|
} |
|
|
|
public function testDeleteExpired() |
|
{ |
|
$this->model->insert(['user_id' => 99, 'random_hash' => 'random_hash9999']); |
|
sleep(5); |
|
$this->model->deleteExpired(99); |
|
$loginTokens = $this->model->findAllByUserId(99); |
|
$this->assertCount(0, $loginTokens); |
|
} |
|
|
|
public function testConfigDBGroup() |
|
{ |
|
$this->model = new LoginTokenModel(); |
|
$this->model->insert(['user_id' => 99, 'random_hash' => 'random_hash9999']); |
|
$loginTokens = $this->model->findAllByUserId(99); |
|
$this->assertCount(1, $loginTokens); |
|
} |
|
}
|
|
|