mirror of
https://github.com/chylex/Lightning-Tracker.git
synced 2025-06-01 01:34:09 +02:00
Add Acceptance::getDB and fix issues with tests (missing login refresh, code formatting)
This commit is contained in:
parent
30b28d4984
commit
c7e9e8e6b6
tests
@ -20,9 +20,12 @@ use Codeception\Actor;
|
||||
* @SuppressWarnings(PHPMD)
|
||||
*/
|
||||
class AcceptanceTester extends Actor{
|
||||
use _generated\AcceptanceTesterActions;
|
||||
use _generated\AcceptanceTesterActions {
|
||||
amOnPage as private amOnPageInternal;
|
||||
}
|
||||
|
||||
private static array $tokens = [];
|
||||
private string $page;
|
||||
|
||||
public function saveLoginToken(string $user): void{
|
||||
$this->seeCookie('logon', [
|
||||
@ -31,7 +34,7 @@ class AcceptanceTester extends Actor{
|
||||
'httponly' => true,
|
||||
'samesite' => 'Lax'
|
||||
]);
|
||||
|
||||
|
||||
$token = $this->grabCookie('logon');
|
||||
|
||||
$this->assertNotEmpty($token);
|
||||
@ -49,5 +52,14 @@ class AcceptanceTester extends Actor{
|
||||
'httponly' => true,
|
||||
'samesite' => 'Lax'
|
||||
]);
|
||||
|
||||
if (isset($this->page)){
|
||||
$this->amOnPage($this->page);
|
||||
}
|
||||
}
|
||||
|
||||
public function amOnPage(string $page): void{
|
||||
$this->amOnPageInternal($page);
|
||||
$this->page = $page;
|
||||
}
|
||||
}
|
||||
|
@ -9,11 +9,18 @@ namespace Helper;
|
||||
use Codeception\Module;
|
||||
use Database\DB;
|
||||
use FilesystemIterator;
|
||||
use PDO;
|
||||
use RecursiveDirectoryIterator;
|
||||
use RecursiveIteratorIterator;
|
||||
|
||||
class Acceptance extends Module{
|
||||
public function _beforeSuite($settings = []): void{
|
||||
private static PDO $db;
|
||||
|
||||
public static function getDB(): PDO{
|
||||
if (isset(self::$db)){
|
||||
return self::$db;
|
||||
}
|
||||
|
||||
define('DB_DRIVER', 'mysql');
|
||||
define('DB_NAME', 'tracker_test');
|
||||
define('DB_HOST', 'localhost');
|
||||
@ -21,7 +28,11 @@ class Acceptance extends Module{
|
||||
define('DB_PASSWORD', 'test');
|
||||
|
||||
require __DIR__.'/../../../src/Database/DB.php';
|
||||
$db = DB::get();
|
||||
return self::$db = DB::get();
|
||||
}
|
||||
|
||||
public function _beforeSuite($settings = []): void{
|
||||
$db = self::getDB();
|
||||
|
||||
$tables = [
|
||||
'system_roles',
|
||||
|
@ -25,16 +25,16 @@ class T001_Install_Cest{
|
||||
private function reinstall(AcceptanceTester $I, string $conflict_resolution, string $input_email, string $result_email): void{
|
||||
$I->assertTrue(unlink(__DIR__.'/../../server/www/config.php'));
|
||||
$I->amOnPage('/');
|
||||
|
||||
|
||||
$this->fill($I, $input_email);
|
||||
$I->click('button[value=""]');
|
||||
|
||||
|
||||
$I->seeElement('#form-install-section[style="display:none"]');
|
||||
$I->seeElement('#form-conflict-section:not([style])');
|
||||
|
||||
|
||||
$I->fillField('_Resolution', $conflict_resolution);
|
||||
$I->click('button[value="ConflictConfirm"]');
|
||||
|
||||
|
||||
$I->see('Register', 'a[href="http://localhost/register"]');
|
||||
$I->seeInDatabase('users', [
|
||||
'name' => 'Admin',
|
||||
|
Loading…
Reference in New Issue
Block a user