Odyssey
admBankingCalendarTest.php
1 <?php
2 
3 use PHPUnit\Framework\TestCase;
4 
5 /**
6  * @var BankingCalendarTest
7  * Contains all the test cases for the aBankingCalendar.i include file.
8  */
9 class BankingCalendarTest extends TestCase {
10  protected static $env;
11 
12  function setup() {
13  $admLibrary= "/var/www/html/admcom/library";
14  require_once("$admLibrary/aBankingCalendar.i");
15 
16  $sharedLibrary= "/var/www/html/shared/library";
17  require_once("$sharedLibrary/hcuEnv.i");
18  require_once("$sharedLibrary/hcuCommon.i");
19  require_once("$sharedLibrary/db.postgres.i");
20 
21  self::$env = LoadSystemEnv("admin");
22  }
23 
24  function test_BankingCalendarValidate() {
25  // validate null
26  try {
27  $validate = BankingCalendarValidate(self::$env, null);
28  } catch(Exception $e) {
29  $this->assertEquals($e->getMessage(), "Calendar data not found");
30  }
31 
32  // validate non-array non-json
33  try {
34  $validate = BankingCalendarValidate(self::$env, "");
35  } catch(Exception $e) {
36  $this->assertEquals($e->getMessage(), "Calendar data is invalid");
37  }
38 
39  // validate non-array json
40  try {
41  $validateJSON = HCU_JsonEncode("skdf");
42  $validate = BankingCalendarValidate(self::$env, $validateJSON);
43  } catch(Exception $e) {
44  $this->assertEquals($e->getMessage(), "Calendar data is invalid");
45  }
46 
47  // validate year not set
48  try {
49  $validateARRAY = array();
50  $validate = BankingCalendarValidate(self::$env, $validateARRAY);
51  } catch(Exception $e) {
52  $this->assertEquals($e->getMessage(), "Calendar year is missing");
53  }
54 
55  // validate year not set, json
56  try {
57  $validateARRAY = array();
58  $validateJSON = HCU_JsonEncode($validateARRAY);
59  $validate = BankingCalendarValidate(self::$env, $validateJSON, true);
60  } catch(Exception $e) {
61  $this->assertEquals($e->getMessage(), "Calendar year is missing");
62  }
63 
64  // validate year not 4 characters
65  $validateYEARS = array("", "1", "12", "123", "12345");
66  foreach ($validateYEARS as $value) {
67  // non- json
68  try {
69  $validateARRAY = array("year"=>$value);
70  $validate = BankingCalendarValidate(self::$env, $validateARRAY);
71  } catch(Exception $e) {
72  $this->assertEquals($e->getMessage(), "Calendar year is invalid");
73  }
74 
75  // json
76  try {
77  $validateARRAY = array("year"=>$value);
78  $validateJSON = HCU_JsonEncode($validateARRAY);
79  $validate = BankingCalendarValidate(self::$env, $validateJSON, true);
80  } catch(Exception $e) {
81  $this->assertEquals($e->getMessage(), "Calendar year is invalid");
82  }
83  }
84 
85  // validate dates not set
86  try {
87  $validateARRAY = array("year"=>"2018");
88  $validate = BankingCalendarValidate(self::$env, $validateARRAY);
89  } catch(Exception $e) {
90  $this->assertEquals($e->getMessage(), "Calendar dates list is missing");
91  }
92 
93  // validate dates not set, json
94  try {
95  $validateARRAY = array("year"=>"2018");
96  $validateJSON = HCU_JsonEncode($validateARRAY);
97  $validate = BankingCalendarValidate(self::$env, $validateJSON, true);
98  } catch(Exception $e) {
99  $this->assertEquals($e->getMessage(), "Calendar dates list is missing");
100  }
101 
102  // validate dates not array
103  try {
104  $validateARRAY = array("year"=>"2018", "dates"=>76);
105  $validateJSON = HCU_JsonEncode($validateARRAY);
106  $validate = BankingCalendarValidate(self::$env, $validateJSON, true);
107  } catch(Exception $e) {
108  $this->assertEquals($e->getMessage(), "Calendar date list is invalid");
109  }
110 
111  // validate dates not array
112  try {
113  $validateARRAY = array("year"=>"2018", "dates"=>"date here");
114  $validateJSON = HCU_JsonEncode($validateARRAY);
115  $validate = BankingCalendarValidate(self::$env, $validateJSON, true);
116  } catch(Exception $e) {
117  $this->assertEquals($e->getMessage(), "Calendar date list is invalid");
118  }
119 
120  // validate empty dates list
121  try {
122  $validateARRAY = array("year"=>"2018", "dates"=>array());
123  $validateJSON = HCU_JsonEncode($validateARRAY);
124  $validate = BankingCalendarValidate(self::$env, $validateJSON, true);
125  } catch(Exception $e) {
126  $this->assertEquals($e->getMessage(), "Calendar dates list is missing");
127  }
128 
129  // validate correct data
130  $validateARRAY = array(
131  "year"=>"2018",
132  "dates"=>array(
133  "2018-01-09","2018-01-10","2018-01-11","2018-01-12","2018-01-19","2018-05-09",
134  "2018-05-10","2018-05-11","2018-05-17","2018-02-06","2018-02-07","2018-02-08",
135  "2018-12-03","2018-12-04","2018-12-05","2018-06-06"
136  )
137  );
138  $validateJSON = HCU_JsonEncode($validateARRAY);
139  $validate = BankingCalendarValidate(self::$env, $validateJSON, true);
140  $this->assertArrayHasKey("validate", $validate);
141  $this->assertArrayHasKey("year", $validate['validate']);
142  $this->assertArrayHasKey("dates", $validate['validate']);
143  $this->assertEquals($validate['validate']['year'], $validateARRAY['year']);
144  $this->assertEquals($validate['validate']['dates'], HCU_JsonEncode($validateARRAY['dates']));
145  }
146 
147  function test_BankingCalendarUpdate() {
148 
149  }
150 
151  function test_BankingCalendarCreate() {
152 
153  }
154 
155  function test_BankingCalendarRead() {
156 
157  }
158 }