mirror of
https://github.com/chylex/Lightning-Tracker.git
synced 2025-07-27 16:59:08 +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)
|
* @SuppressWarnings(PHPMD)
|
||||||
*/
|
*/
|
||||||
class AcceptanceTester extends Actor{
|
class AcceptanceTester extends Actor{
|
||||||
use _generated\AcceptanceTesterActions;
|
use _generated\AcceptanceTesterActions {
|
||||||
|
amOnPage as private amOnPageInternal;
|
||||||
|
}
|
||||||
|
|
||||||
private static array $tokens = [];
|
private static array $tokens = [];
|
||||||
|
private string $page;
|
||||||
|
|
||||||
public function saveLoginToken(string $user): void{
|
public function saveLoginToken(string $user): void{
|
||||||
$this->seeCookie('logon', [
|
$this->seeCookie('logon', [
|
||||||
@ -31,7 +34,7 @@ class AcceptanceTester extends Actor{
|
|||||||
'httponly' => true,
|
'httponly' => true,
|
||||||
'samesite' => 'Lax'
|
'samesite' => 'Lax'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$token = $this->grabCookie('logon');
|
$token = $this->grabCookie('logon');
|
||||||
|
|
||||||
$this->assertNotEmpty($token);
|
$this->assertNotEmpty($token);
|
||||||
@ -49,5 +52,14 @@ class AcceptanceTester extends Actor{
|
|||||||
'httponly' => true,
|
'httponly' => true,
|
||||||
'samesite' => 'Lax'
|
'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 Codeception\Module;
|
||||||
use Database\DB;
|
use Database\DB;
|
||||||
use FilesystemIterator;
|
use FilesystemIterator;
|
||||||
|
use PDO;
|
||||||
use RecursiveDirectoryIterator;
|
use RecursiveDirectoryIterator;
|
||||||
use RecursiveIteratorIterator;
|
use RecursiveIteratorIterator;
|
||||||
|
|
||||||
class Acceptance extends Module{
|
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_DRIVER', 'mysql');
|
||||||
define('DB_NAME', 'tracker_test');
|
define('DB_NAME', 'tracker_test');
|
||||||
define('DB_HOST', 'localhost');
|
define('DB_HOST', 'localhost');
|
||||||
@ -21,7 +28,11 @@ class Acceptance extends Module{
|
|||||||
define('DB_PASSWORD', 'test');
|
define('DB_PASSWORD', 'test');
|
||||||
|
|
||||||
require __DIR__.'/../../../src/Database/DB.php';
|
require __DIR__.'/../../../src/Database/DB.php';
|
||||||
$db = DB::get();
|
return self::$db = DB::get();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function _beforeSuite($settings = []): void{
|
||||||
|
$db = self::getDB();
|
||||||
|
|
||||||
$tables = [
|
$tables = [
|
||||||
'system_roles',
|
'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{
|
private function reinstall(AcceptanceTester $I, string $conflict_resolution, string $input_email, string $result_email): void{
|
||||||
$I->assertTrue(unlink(__DIR__.'/../../server/www/config.php'));
|
$I->assertTrue(unlink(__DIR__.'/../../server/www/config.php'));
|
||||||
$I->amOnPage('/');
|
$I->amOnPage('/');
|
||||||
|
|
||||||
$this->fill($I, $input_email);
|
$this->fill($I, $input_email);
|
||||||
$I->click('button[value=""]');
|
$I->click('button[value=""]');
|
||||||
|
|
||||||
$I->seeElement('#form-install-section[style="display:none"]');
|
$I->seeElement('#form-install-section[style="display:none"]');
|
||||||
$I->seeElement('#form-conflict-section:not([style])');
|
$I->seeElement('#form-conflict-section:not([style])');
|
||||||
|
|
||||||
$I->fillField('_Resolution', $conflict_resolution);
|
$I->fillField('_Resolution', $conflict_resolution);
|
||||||
$I->click('button[value="ConflictConfirm"]');
|
$I->click('button[value="ConflictConfirm"]');
|
||||||
|
|
||||||
$I->see('Register', 'a[href="http://localhost/register"]');
|
$I->see('Register', 'a[href="http://localhost/register"]');
|
||||||
$I->seeInDatabase('users', [
|
$I->seeInDatabase('users', [
|
||||||
'name' => 'Admin',
|
'name' => 'Admin',
|
||||||
|
Loading…
Reference in New Issue
Block a user