1: <?php
2: use Azalea\Selenium\App\ApplicationTestCase;
3: use Azalea\Selenium\App\Customers;
4: use Azalea\Selenium\App\Patients;
5: use Azalea\Selenium\App\Users;
6:
7: class PatientAccountSummaryTest extends ApplicationTestCase
8: {
9: public function supportsCustomer($cus_id)
10: {
11:
12: return (Customers::isEhrCustomer($cus_id) || Customers::isPmCustomer($cus_id));
13: }
14:
15: 16: 17: 18: 19: 20: 21:
22: public function testPatientBalanceTest1()
23: {
24: $app = $this->login(Users::FELIX_MILLER, Users::PASSWORD);
25:
26:
27: $patientView = $app->patients->open(Patients::PATIENT_BALANCE_TEST1);
28:
29:
30: $patientAcctSummary = $patientView->accountSummary->navigate()->verifyAndWait();
31: $this->waitForAjax();
32:
33: 34: 35: 36:
37: $this->waitForAjax();
38: $this->spinWait(function () use ($patientAcctSummary) {
39: $patientAcctSummary->filter(
40: $patientAcctSummary->selectors->patientIncurredPatientBalance
41: )->assertCanSee("$0.00");
42: return true;
43: });
44: }
45:
46: 47: 48: 49: 50: 51: 52:
53: public function testPatientBalanceTest2()
54: {
55: $app = $this->login(Users::FELIX_MILLER, Users::PASSWORD);
56:
57:
58: $patientView = $app->patients->open(Patients::PATIENT_BALANCE_TEST2);
59: $this->waitForAjax();
60:
61:
62: $patientAcctSummary = $patientView->accountSummary->navigate()->verifyAndWait();
63:
64: 65: 66: 67:
68: $this->waitForAjax();
69: $this->spinWait(function () use ($patientAcctSummary) {
70: $patientAcctSummary->filter(
71: $patientAcctSummary->selectors->patientIncurredPatientBalance
72: )->assertCanSee("$151.83");
73: return true;
74: });
75: }
76:
77: 78: 79: 80: 81: 82: 83: 84:
85: public function testPatientBalanceTest3()
86: {
87: $app = $this->login(Users::FELIX_MILLER, Users::PASSWORD);
88:
89:
90: $patientView = $app->patients->open(Patients::PATIENT_BALANCE_TEST3);
91: $this->waitForAjax();
92:
93:
94: $patientAcctSummary = $patientView->accountSummary->navigate()->verifyAndWait();
95:
96: 97: 98: 99:
100: $this->waitForAjax();
101: $this->spinWait(function () use ($patientAcctSummary) {
102: $patientAcctSummary->filter(
103: $patientAcctSummary->selectors->patientIncurredPatientBalance
104: )->assertCanSee("$1,277.89");
105: return true;
106: });
107: }
108:
109: 110: 111: 112: 113: 114: 115:
116: public function testPatientBalanceTest4()
117: {
118: $app = $this->login(Users::FELIX_MILLER, Users::PASSWORD);
119:
120:
121: $patientView = $app->patients->open(Patients::PATIENT_BALANCE_TEST4);
122: $this->waitForAjax();
123:
124:
125: $patientAcctSummary = $patientView->accountSummary->navigate()->verifyAndWait();
126:
127: 128: 129: 130:
131: $this->waitForAjax();
132: $this->spinWait(function () use ($patientAcctSummary) {
133: $patientAcctSummary->filter(
134: $patientAcctSummary->selectors->patientIncurredPatientBalance
135: )->assertCanSee("$1,398.28");
136: return true;
137: });
138: }
139:
140: 141: 142: 143: 144: 145: 146: 147:
148: public function testPatientBalanceTest5()
149: {
150: $app = $this->login(Users::FELIX_MILLER, Users::PASSWORD);
151:
152:
153: $patientView = $app->patients->open(Patients::PATIENT_BALANCE_TEST5);
154: $this->waitForAjax();
155:
156:
157: $patientAcctSummary = $patientView->accountSummary->navigate()->verifyAndWait();
158:
159: 160: 161: 162: 163:
164: $this->waitForAjax();
165: $this->spinWait(function () use ($patientAcctSummary) {
166: $patientAcctSummary->filter(
167: $patientAcctSummary->selectors->lastPaymentDate
168: )->assertCanSee("07/05/2016");
169: $patientAcctSummary->filter(
170: $patientAcctSummary->selectors->patientIncurredPatientBalance
171: )->assertCanSee("$977.39");
172: return true;
173: });
174: }
175:
176: 177: 178: 179: 180: 181: 182: 183:
184: public function testPatientBalanceTest6()
185: {
186: $app = $this->login(Users::FELIX_MILLER, Users::PASSWORD);
187:
188:
189: $patientView = $app->patients->open(Patients::PATIENT_BALANCE_TEST6);
190: $this->waitForAjax();
191:
192:
193: $patientAcctSummary = $patientView->accountSummary->navigate()->verifyAndWait();
194:
195: 196: 197: 198: 199:
200: $this->waitForAjax();
201: $this->spinWait(function () use ($patientAcctSummary) {
202: $patientAcctSummary->filter(
203: $patientAcctSummary->selectors->lastInsurancePaymentDate
204: )->assertCanSee("07/07/2016");
205: $patientAcctSummary->filter(
206: $patientAcctSummary->selectors->patientIncurredPatientBalance
207: )->assertCanSee("$586.99");
208: $patientAcctSummary->filter(
209: $patientAcctSummary->selectors->patientIncurredPriInsBalance
210: )->assertCanSee("$0.00");
211: $patientAcctSummary->filter(
212: $patientAcctSummary->selectors->patientIncurredBalance
213: )->assertCanSee("$586.99");
214: $patientAcctSummary->filter(
215: $patientAcctSummary->selectors->patientIncurredInsuranceBalance
216: )->assertCanSee("$0.00");
217: $patientAcctSummary->filter(
218: $patientAcctSummary->selectors->patientRespPatientBalance
219: )->assertCanSee("$586.99");
220: $patientAcctSummary->filter(
221: $patientAcctSummary->selectors->patientRespPriInsBalance
222: )->assertCanSee("$0.00");
223: $patientAcctSummary->filter(
224: $patientAcctSummary->selectors->patientRespBalance
225: )->assertCanSee("$586.99");
226: $patientAcctSummary->filter(
227: $patientAcctSummary->selectors->patientRespInsuranceBalance
228: )->assertCanSee("$0.00");
229: return true;
230: });
231: }
232:
233: 234: 235: 236: 237: 238: 239: 240: 241: 242:
243: public function testPatientMultipleBalanceTest1()
244: {
245: $app = $this->login(Users::FELIX_MILLER, Users::PASSWORD);
246:
247:
248: $patientView = $app->patients->open(Patients::PATIENT_MULTI_BALANCE_TEST1);
249: $this->waitForAjax();
250:
251:
252: $patientAcctSummary = $patientView->accountSummary->navigate()->verifyAndWait();
253:
254: 255: 256: 257: 258: 259: 260: 261:
262: $this->waitForAjax();
263: $this->spinWait(function () use ($patientAcctSummary) {
264: $patientAcctSummary->filter(
265: $patientAcctSummary->selectors->lastInsurancePaymentDate
266: )->assertCanSee("07/08/2016");
267: $patientAcctSummary->filter(
268: $patientAcctSummary->selectors->patientIncurredPatientBalance
269: )->assertCanSee("$120.72");
270: $patientAcctSummary->filter(
271: $patientAcctSummary->selectors->patientIncurredPriInsBalance
272: )->assertCanSee("$0.00");
273: $patientAcctSummary->filter(
274: $patientAcctSummary->selectors->patientIncurredSecInsBalance
275: )->assertCanSee("$48.56");
276: $patientAcctSummary->filter(
277: $patientAcctSummary->selectors->patientIncurredBalance
278: )->assertCanSee("$169.28");
279: $patientAcctSummary->filter(
280: $patientAcctSummary->selectors->patientIncurredInsuranceBalance
281: )->assertCanSee("$48.56");
282: $patientAcctSummary->filter(
283: $patientAcctSummary->selectors->patientRespPatientBalance
284: )->assertCanSee("$120.72");
285: $patientAcctSummary->filter(
286: $patientAcctSummary->selectors->patientRespPriInsBalance
287: )->assertCanSee("$0.00");
288: $patientAcctSummary->filter(
289: $patientAcctSummary->selectors->patientRespSecInsBalance
290: )->assertCanSee("$48.56");
291: $patientAcctSummary->filter(
292: $patientAcctSummary->selectors->patientRespBalance
293: )->assertCanSee("$169.28");
294: $patientAcctSummary->filter(
295: $patientAcctSummary->selectors->patientRespInsuranceBalance
296: )->assertCanSee("$48.56");
297: return true;
298: });
299: }
300:
301: 302: 303: 304: 305: 306: 307: 308:
309: public function testPrimaryInsuranceBalanceTest1()
310: {
311: $app = $this->login(Users::FELIX_MILLER, Users::PASSWORD);
312:
313:
314: $patientView = $app->patients->open(Patients::PRI_INS_BALANCE_TEST1);
315: $this->waitForAjax();
316:
317:
318: $patientAcctSummary = $patientView->accountSummary->navigate()->verifyAndWait();
319:
320: 321: 322: 323: 324:
325: $this->waitForAjax();
326: $this->spinWait(function () use ($patientAcctSummary) {
327: $patientAcctSummary->filter(
328: $patientAcctSummary->selectors->patientIncurredPriInsBalance
329: )->assertCanSee("$0.00");
330: $patientAcctSummary->filter(
331: $patientAcctSummary->selectors->patientIncurredInsuranceBalance
332: )->assertCanSee("$0.00");
333: return true;
334: });
335: }
336:
337: 338: 339: 340: 341: 342: 343: 344:
345: public function testPrimaryInsuranceBalanceTest2()
346: {
347: $app = $this->login(Users::FELIX_MILLER, Users::PASSWORD);
348:
349:
350: $patientView = $app->patients->open(Patients::PRI_INS_BALANCE_TEST2);
351: $this->waitForAjax();
352:
353:
354: $patientAcctSummary = $patientView->accountSummary->navigate()->verifyAndWait();
355:
356: 357: 358: 359: 360:
361: $this->waitForAjax();
362: $this->spinWait(function () use ($patientAcctSummary) {
363: $patientAcctSummary->filter(
364: $patientAcctSummary->selectors->patientIncurredPriInsBalance
365: )->assertCanSee("$148.56");
366: $patientAcctSummary->filter(
367: $patientAcctSummary->selectors->patientIncurredInsuranceBalance
368: )->assertCanSee("$148.56");
369: $patientAcctSummary->filter(
370: $patientAcctSummary->selectors->patientIncurredBalance
371: )->assertCanSee("$148.56");
372: $patientAcctSummary->filter(
373: $patientAcctSummary->selectors->patientRespPriInsBalance
374: )->assertCanSee("$148.56");
375: $patientAcctSummary->filter(
376: $patientAcctSummary->selectors->patientRespInsuranceBalance
377: )->assertCanSee("$148.56");
378: $patientAcctSummary->filter(
379: $patientAcctSummary->selectors->patientRespBalance
380: )->assertCanSee("$148.56");
381: return true;
382: });
383: }
384:
385: 386: 387: 388: 389: 390: 391: 392:
393: public function testPrimaryInsuranceBalanceTest3()
394: {
395: $app = $this->login(Users::FELIX_MILLER, Users::PASSWORD);
396:
397:
398: $patientView = $app->patients->open(Patients::PRI_INS_BALANCE_TEST3);
399: $this->waitForAjax();
400:
401:
402: $patientAcctSummary = $patientView->accountSummary->navigate()->verifyAndWait();
403:
404: 405: 406: 407: 408:
409: $this->waitForAjax();
410: $this->spinWait(function () use ($patientAcctSummary) {
411: $patientAcctSummary->filter(
412: $patientAcctSummary->selectors->patientIncurredPriInsBalance
413: )->assertCanSee("$1,367.64");
414: $patientAcctSummary->filter(
415: $patientAcctSummary->selectors->patientIncurredInsuranceBalance
416: )->assertCanSee("$1,367.64");
417: $patientAcctSummary->filter(
418: $patientAcctSummary->selectors->patientIncurredBalance
419: )->assertCanSee("$1,367.64");
420: $patientAcctSummary->filter(
421: $patientAcctSummary->selectors->patientRespPriInsBalance
422: )->assertCanSee("$1,367.64");
423: $patientAcctSummary->filter(
424: $patientAcctSummary->selectors->patientRespInsuranceBalance
425: )->assertCanSee("$1,367.64");
426: $patientAcctSummary->filter(
427: $patientAcctSummary->selectors->patientRespBalance
428: )->assertCanSee("$1,367.64");
429: return true;
430: });
431: }
432:
433: 434: 435: 436: 437: 438: 439: 440: 441:
442: public function testPatientGuarantorBalanceTest1()
443: {
444: $app = $this->login(Users::FELIX_MILLER, Users::PASSWORD);
445:
446:
447: $patientView = $app->patients->open(Patients::PHYLLIS_ARMSTRONG);
448: $this->waitForAjax();
449:
450:
451: $patientAcctSummary = $patientView->accountSummary->navigate()->verifyAndWait();
452:
453: 454: 455: 456: 457:
458: $this->waitForAjax();
459: $this->spinWait(function () use ($patientAcctSummary) {
460: $patientAcctSummary->filter(
461: $patientAcctSummary->selectors->patientIncurredPriInsBalance
462: )->assertCanSee("$0.00");
463: $patientAcctSummary->filter(
464: $patientAcctSummary->selectors->patientIncurredInsuranceBalance
465: )->assertCanSee("$0.00");
466: $patientAcctSummary->filter(
467: $patientAcctSummary->selectors->patientIncurredBalance
468: )->assertCanSee("$0.00");
469: $patientAcctSummary->filter(
470: $patientAcctSummary->selectors->patientRespPatientBalance
471: )->assertCanSee("$70.72");
472: $patientAcctSummary->filter(
473: $patientAcctSummary->selectors->patientRespPriInsBalance
474: )->assertCanSee("$0.00");
475: $patientAcctSummary->filter(
476: $patientAcctSummary->selectors->patientRespInsuranceBalance
477: )->assertCanSee("$0.00");
478: $patientAcctSummary->filter(
479: $patientAcctSummary->selectors->patientRespBalance
480: )->assertCanSee("$70.72");
481: return true;
482: });
483:
484:
485: $patientView = $app->patients->open(Patients::APRIL_ARMSTRONG);
486: $this->waitForAjax();
487:
488:
489: $patientAcctSummary = $patientView->accountSummary->navigate()->verifyAndWait();
490:
491: 492: 493: 494: 495:
496: $this->waitForAjax();
497: $this->spinWait(function () use ($patientAcctSummary) {
498: $patientAcctSummary->filter(
499: $patientAcctSummary->selectors->patientIncurredPatientBalance
500: )->assertCanSee("$70.72");
501: $patientAcctSummary->filter(
502: $patientAcctSummary->selectors->patientIncurredPriInsBalance
503: )->assertCanSee("$798.36");
504: $patientAcctSummary->filter(
505: $patientAcctSummary->selectors->patientIncurredInsuranceBalance
506: )->assertCanSee("$798.36");
507: $patientAcctSummary->filter(
508: $patientAcctSummary->selectors->patientIncurredBalance
509: )->assertCanSee("$869.08");
510: $patientAcctSummary->filter(
511: $patientAcctSummary->selectors->patientRespPatientBalance
512: )->assertCanSee("$0.00");
513: $patientAcctSummary->filter(
514: $patientAcctSummary->selectors->patientRespPriInsBalance
515: )->assertCanSee("$798.36");
516: $patientAcctSummary->filter(
517: $patientAcctSummary->selectors->patientRespInsuranceBalance
518: )->assertCanSee("$798.36");
519: $patientAcctSummary->filter(
520: $patientAcctSummary->selectors->patientRespBalance
521: )->assertCanSee("$798.36");
522: return true;
523: });
524: }
525: }
526:
527: ?>