-
Notifications
You must be signed in to change notification settings - Fork 385
/
Copy pathTestTemplate.php
117 lines (92 loc) · 3.45 KB
/
TestTemplate.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php
if (!class_exists('PHPUnit_Framework_TestCase')) {
class PHPUnit_Framework_TestCase extends \PHPUnit\Framework\TestCase
{
}
}
class TestTemplate extends PHPUnit_Framework_TestCase
{
protected $usersArray = array();
private $db = null;
public function p($msg)
{
fwrite(STDOUT, $msg."\n");
}
protected function setUp()
{
parent::setUp();
}
protected function tearDown()
{
parent::tearDown();
}
protected function deleteAllUsers()
{
$user = new \Users\Common\Model\User();
$users = $user->Find("username <> ?", array('admin'));
foreach ($users as $user) {
$user->Delete();
}
}
protected function createNewUsers()
{
$profileVar = SIGN_IN_ELEMENT_MAPPING_FIELD_NAME;
$profileClass = ucfirst(SIGN_IN_ELEMENT_MAPPING_FIELD_NAME);
$user = new \Users\Common\Model\User();
$user->username = 'manager';
$user->email = '[email protected]';
$user->password = '21232f297a57a5a743894a0e4a801fc3';
$user->user_level = 'Manager';
$user->Save();
$user = new \Users\Common\Model\User();
$user->username = 'profile';
$user->email = '[email protected]';
$user->password = '21232f297a57a5a743894a0e4a801fc3';
$user->user_level = 'Profile';
$user->Save();
}
protected function initializeObjects()
{
global $userTables;
global $fileFields;
global $mysqlErrors;
$dbLocal = NewADOConnection(APP_CON_STR);
\Model\File::SetDatabaseAdapter($dbLocal);
\Model\Setting::SetDatabaseAdapter($dbLocal);
\Model\Report::SetDatabaseAdapter($dbLocal);
\Model\DataEntryBackup::SetDatabaseAdapter($dbLocal);
\Model\Audit::SetDatabaseAdapter($dbLocal);
\Model\Notification::SetDatabaseAdapter($dbLocal);
\Model\RestAccessToken::SetDatabaseAdapter($dbLocal);
$moduleManagers = \Classes\BaseService::getInstance()->getModuleManagers();
foreach ($moduleManagers as $moduleManagerObj) {
$moduleManagerObj->setupModuleClassDefinitions();
$moduleManagerObj->initializeUserClasses();
$moduleManagerObj->initializeFieldMappings();
$moduleManagerObj->initializeDatabaseErrorMappings();
$moduleManagerObj->setupUserClasses($userTables);
$moduleManagerObj->setupFileFieldMappings($fileFields);
$moduleManagerObj->setupErrorMappings($mysqlErrors);
$moduleManagerObj->initCalculationHooks();
$modelClassList = $moduleManagerObj->getModelClasses();
foreach ($modelClassList as $modelClass) {
$modelClass::SetDatabaseAdapter($dbLocal);
}
}
}
protected function resetDatabase()
{
$dropDBCommand = 'echo "DROP DATABASE IF EXISTS ' . APP_DB . '"| mysql -u' . MYSQL_ROOT_USER . ' -p' . MYSQL_ROOT_PASS;
$createDBCommand = 'echo "CREATE DATABASE '.APP_DB.'"| mysql -u'.MYSQL_ROOT_USER.' -p'.MYSQL_ROOT_PASS;
exec($dropDBCommand);
exec($createDBCommand);
$scripts = array(
APP_BASE_PATH."scripts/icehrmdb.sql",
APP_BASE_PATH."scripts/icehrm_master_data.sql"
);
foreach ($scripts as $insql) {
$command = "cat ".$insql."| mysql -u".MYSQL_ROOT_USER." -p".MYSQL_ROOT_PASS." '".APP_DB."'";
exec($command);
}
}
}