1
0
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:
chylex 2020-09-06 19:24:36 +02:00
parent 30b28d4984
commit c7e9e8e6b6
3 changed files with 31 additions and 8 deletions

View File

@ -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;
}
}

View File

@ -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',

View File

@ -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',