50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
| <?php
 | |
| 
 | |
| // Set test environment
 | |
| define('PHPUNIT_RUNNING', true);
 | |
| 
 | |
| // Configure session before any output
 | |
| if (!headers_sent()) {
 | |
|     // Configure session settings
 | |
|     ini_set('session.cookie_httponly', 1);
 | |
|     ini_set('session.cookie_secure', 1);
 | |
|     ini_set('session.cookie_samesite', 'Strict');
 | |
|     ini_set('session.gc_maxlifetime', 1440); // 24 minutes
 | |
| }
 | |
| 
 | |
| // Load Composer's autoloader
 | |
| require_once __DIR__ . '/vendor/autoload.php';
 | |
| 
 | |
| // Set error reporting
 | |
| error_reporting(E_ALL);
 | |
| ini_set('display_errors', 1);
 | |
| ini_set('display_startup_errors', 1);
 | |
| 
 | |
| // Set timezone
 | |
| date_default_timezone_set('UTC');
 | |
| 
 | |
| // Define global variables needed by the application
 | |
| $GLOBALS['app_root'] = '/';
 | |
| $GLOBALS['config'] = [
 | |
|     'db' => [
 | |
|         'type' => 'sqlite',
 | |
|         'dbFile' => ':memory:'
 | |
|     ]
 | |
| ];
 | |
| 
 | |
| // Define global connectDB function
 | |
| if (!function_exists('connectDB')) {
 | |
|     function connectDB($config) {
 | |
|         global $dbWeb;
 | |
|         return [
 | |
|             'db' => $dbWeb
 | |
|         ];
 | |
|     }
 | |
| }
 | |
| 
 | |
| // Set up server variables
 | |
| $_SERVER['PHP_SELF'] = '/index.php';
 | |
| $_SERVER['REMOTE_ADDR'] = '127.0.0.1';
 | |
| $_SERVER['HTTP_USER_AGENT'] = 'PHPUnit Test Browser';
 | |
| $_SERVER['HTTPS'] = 'on';
 |