3 use PHPUnit\Framework\TestCase;
9 $admLibrary =
"/var/www/html/admcom/library";
10 require_once
"$admLibrary/aAdminSettings.i";
12 $sharedLibrary =
"/var/www/html/shared/library";
13 require_once
"$sharedLibrary/hcuEnv.i";
14 require_once
"$sharedLibrary/hcuCommon.i";
16 self::$env = LoadSystemEnv(
"banking");
19 function test_ValidateACHSettings() {
22 $validate = ValidateACHSettings(self::$env,
null);
23 }
catch (Exception $e) {
24 $this->assertEquals($e->getMessage(),
"Settings not found");
29 $validate = ValidateACHSettings(self::$env,
"string");
30 }
catch (Exception $e) {
31 $this->assertEquals($e->getMessage(),
"Settings data is invalid");
35 $validateJSON = HCU_JsonEncode(
"string");
37 $validate = ValidateACHSettings(self::$env, $validateJSON,
true);
38 }
catch (Exception $e) {
39 $this->assertEquals($e->getMessage(),
"Settings data is invalid");
45 $settingsVALIDATE = ValidateACHSettings(self::$env, $settings);
46 }
catch (Exception $e) {
47 $this->assertEquals($e->getMessage(),
"Credit union name is missing");
53 "name" =>
"Scrubs Are Alive");
54 $settingsVALIDATE = ValidateACHSettings(self::$env, $settings);
55 }
catch (Exception $e) {
56 $this->assertEquals($e->getMessage(),
"ACH GL Account is missing");
62 "name" =>
"Scrubs Are Alive",
63 "account" =>
"1029384756");
64 $settingsVALIDATE = ValidateACHSettings(self::$env, $settings);
65 }
catch (Exception $e) {
66 $this->assertEquals($e->getMessage(),
"Micro deposit offsetting entry choice missing");
72 "name" =>
"Scrubs Are Alive",
73 "account" =>
"1029384756",
75 $settingsVALIDATE = ValidateACHSettings(self::$env, $settings);
76 }
catch (Exception $e) {
77 $this->assertEquals($e->getMessage(),
"Routing number is missing");
83 "name" =>
"Scrubs Are Alive",
84 "account" =>
"1029384756",
86 "routing" =>
"102938475");
87 $settingsVALIDATE = ValidateACHSettings(self::$env, $settings);
88 }
catch (Exception $e) {
89 $this->assertEquals($e->getMessage(),
"Cutoff time is missing");
95 "name" =>
"Scrubs Are Alive",
96 "account" =>
"1029384756",
98 "routing" =>
"102938475",
100 $settingsVALIDATE = ValidateACHSettings(self::$env, $settings);
101 }
catch (Exception $e) {
102 $this->assertEquals($e->getMessage(),
"Company ID Type is missing");
108 "name" =>
"Scrubs Are Alive",
109 "account" =>
"1029384756",
111 "routing" =>
"102938475",
114 $settingsVALIDATE = ValidateACHSettings(self::$env, $settings);
115 }
catch (Exception $e) {
116 $this->assertEquals($e->getMessage(),
"Company ID Type is an incorrect value.");
121 "name" =>
"Scrubs Are Alive",
122 "account" =>
"1029384756",
124 "routing" =>
"102938475",
127 $settingsVALIDATE = ValidateACHSettings(self::$env, $settings);
128 $this->assertArrayHasKey(
"validate", $settingsVALIDATE);
129 $this->assertArrayHasKey(
"settings", $settingsVALIDATE[
'validate']);
131 $settingsARRAY = HCU_JsonDecode($settingsVALIDATE[
'validate'][
'settings']);
132 $this->assertArrayHasKey(
"name", $settingsARRAY);
133 $this->assertEquals($settings[
'name'], $settingsARRAY[
'name']);
135 $this->assertArrayHasKey(
"account", $settingsARRAY);
136 $this->assertEquals($settings[
'account'], $settingsARRAY[
'account']);
138 $this->assertArrayHasKey(
"offsetting", $settingsARRAY);
139 $this->assertEquals($settings[
'offsetting'], $settingsARRAY[
'offsetting']);
141 $this->assertArrayHasKey(
"cutoff", $settingsARRAY);
142 $this->assertEquals(4, strlen($settingsARRAY[
'cutoff']));
143 $this->assertEquals(
"0345", $settingsARRAY[
'cutoff']);
145 $this->assertArrayHasKey(
"routing", $settingsVALIDATE[
'validate']);
146 $this->assertEquals(9, strlen($settingsVALIDATE[
'validate'][
'routing']));
147 $this->assertEquals($settings[
'routing'], $settingsVALIDATE[
'validate'][
'routing']);
149 $this->assertArrayHasKey(
"type", $settingsARRAY);
150 $this->assertEquals($settings[
'type'], $settingsARRAY[
'type']);
152 $this->assertArrayNotHasKey(
"achnotify", $settingsARRAY);
156 "name" =>
"Scrubs Are Alive",
157 "account" =>
"1029384756",
159 "routing" =>
"102938475",
162 "notify" =>
"<html>this has html tags</html>",
164 $settingsVALIDATE = ValidateACHSettings(self::$env, $settings);
165 $this->assertArrayHasKey(
"validate", $settingsVALIDATE);
166 $this->assertArrayHasKey(
"settings", $settingsVALIDATE[
'validate']);
167 $settingsARRAY = HCU_JsonDecode($settingsVALIDATE[
'validate'][
'settings']);
168 $this->assertArrayHasKey(
"achnotify", $settingsARRAY);
169 $this->assertEquals($settings[
'notify'], $settingsARRAY[
'achnotify']);
172 function test_ValidateAutoSettings() {
175 $validate = ValidateAutoSettings(self::$env,
null);
176 }
catch (Exception $e) {
177 $this->assertEquals($e->getMessage(),
"Settings not found");
182 $validate = ValidateAutoSettings(self::$env,
"string");
183 }
catch (Exception $e) {
184 $this->assertEquals($e->getMessage(),
"Settings data is invalid");
188 $validateJSON = HCU_JsonEncode(
"string");
190 $validate = ValidateAutoSettings(self::$env, $validateJSON,
true);
191 }
catch (Exception $e) {
192 $this->assertEquals($e->getMessage(),
"Settings data is invalid");
198 $settingsVALIDATE = ValidateAutoSettings(self::$env, $settings);
199 }
catch (Exception $e) {
200 $this->assertEquals($e->getMessage(),
"Default profile is missing");
204 $settings = array(
"profile" =>
"DEFAULT");
205 $settingsVALIDATE = ValidateAutoSettings(self::$env, $settings);
206 $this->assertArrayHasKey(
"validate", $settingsVALIDATE);
207 $this->assertArrayHasKey(
"settings", $settingsVALIDATE[
'validate']);
209 $settingsARRAY = HCU_JsonDecode($settingsVALIDATE[
'validate'][
'settings']);
210 $this->assertArrayHasKey(
"profile", $settingsARRAY);
211 $this->assertEquals($settings[
'profile'], $settingsARRAY[
'profile']);