@@ -37,7 +37,6 @@ import org.junit.Test
37
37
import org.smartregister.fhircore.engine.domain.model.RelatedResourceCount
38
38
import org.smartregister.fhircore.engine.domain.model.ServiceStatus
39
39
import org.smartregister.fhircore.engine.robolectric.RobolectricTest
40
- import org.smartregister.fhircore.engine.util.extension.plusDays
41
40
42
41
@HiltAndroidTest
43
42
class RulesEngineServiceTest : RobolectricTest () {
@@ -297,6 +296,104 @@ class RulesEngineServiceTest : RobolectricTest() {
297
296
)
298
297
}
299
298
299
+ @Test
300
+ fun `generateListTaskServiceStatus() should return OVERDUE when list have Task#status is READY but date passed` () {
301
+ val taskList = ArrayList <Task >()
302
+ val task = Task ().apply { status = Task .TaskStatus .REQUESTED }
303
+ taskList.add(task)
304
+
305
+ val sdf = SimpleDateFormat (" dd/MM/yyyy" )
306
+ val startDate: Date ? = sdf.parse(" 01/01/2023" )
307
+ val endDate: Date ? = sdf.parse(" 01/02/2023" )
308
+
309
+ val taskOver =
310
+ Task ().apply {
311
+ status = Task .TaskStatus .READY
312
+ executionPeriod =
313
+ Period ().apply {
314
+ start = startDate
315
+ end = endDate
316
+ }
317
+ }
318
+
319
+ taskList.add(taskOver)
320
+ Assert .assertTrue(
321
+ rulesEngineService.taskServiceStatusExist(taskList, ServiceStatus .OVERDUE .name),
322
+ )
323
+ }
324
+
325
+ @Test
326
+ fun `generateListTaskServiceStatus() should return DUE when list have Task#status is READY` () {
327
+ val taskList = ArrayList <Task >()
328
+ val task0 = Task ().apply { status = Task .TaskStatus .READY }
329
+ val task1 = Task ().apply { status = Task .TaskStatus .INPROGRESS }
330
+ val task2 = Task ().apply { status = Task .TaskStatus .RECEIVED }
331
+ val task3 = Task ().apply { status = Task .TaskStatus .CANCELLED }
332
+ val task4 = Task ().apply { status = Task .TaskStatus .REJECTED }
333
+ taskList.add(task0)
334
+ taskList.add(task1)
335
+ taskList.add(task2)
336
+ taskList.add(task3)
337
+ taskList.add(task4)
338
+
339
+ Assert .assertTrue(rulesEngineService.taskServiceStatusExist(taskList, ServiceStatus .DUE .name))
340
+ }
341
+
342
+ @Test
343
+ fun testGenerateListTaskServiceStatusShouldReturnUPCOMINGWhenListHaveTaskStatusIsREQUESTED () {
344
+ val taskList = ArrayList <Task >()
345
+ val task0 = Task ().apply { status = Task .TaskStatus .REQUESTED }
346
+ val task2 = Task ().apply { status = Task .TaskStatus .COMPLETED }
347
+ val task3 = Task ().apply { status = Task .TaskStatus .RECEIVED }
348
+
349
+ taskList.add(task0)
350
+ taskList.add(task2)
351
+ taskList.add(task3)
352
+
353
+ Assert .assertTrue(
354
+ rulesEngineService.taskServiceStatusExist(taskList, ServiceStatus .UPCOMING .name),
355
+ )
356
+ }
357
+
358
+ @Test
359
+ fun testGenerateListTaskServiceStatusShouldReturnINPROGRESSWhenListHaveTaskStatusIsINPROGRESS () {
360
+ val taskList = ArrayList <Task >()
361
+ val task1 = Task ().apply { status = Task .TaskStatus .INPROGRESS }
362
+ val task2 = Task ().apply { status = Task .TaskStatus .COMPLETED }
363
+ val task3 = Task ().apply { status = Task .TaskStatus .CANCELLED }
364
+ taskList.add(task1)
365
+ taskList.add(task2)
366
+ taskList.add(task3)
367
+
368
+ Assert .assertTrue(
369
+ rulesEngineService.taskServiceStatusExist(taskList, ServiceStatus .IN_PROGRESS .name),
370
+ )
371
+ }
372
+
373
+ @Test
374
+ fun testGenerateListTaskServiceStatusShouldReturnEXPIREDWhenListHaveTaskStatusIsEXPIRED () {
375
+ val taskList = ArrayList <Task >()
376
+ val task2 = Task ().apply { status = Task .TaskStatus .COMPLETED }
377
+ val task3 = Task ().apply { status = Task .TaskStatus .CANCELLED }
378
+ taskList.add(task2)
379
+ taskList.add(task3)
380
+
381
+ Assert .assertTrue(
382
+ rulesEngineService.taskServiceStatusExist(taskList, ServiceStatus .EXPIRED .name),
383
+ )
384
+ }
385
+
386
+ @Test
387
+ fun testGenerateListTaskServiceStatusShouldReturnCOMPLETEDWhenListHaveTaskStatusIsCOMPLETED () {
388
+ val taskList = ArrayList <Task >()
389
+ val task2 = Task ().apply { status = Task .TaskStatus .COMPLETED }
390
+ taskList.add(task2)
391
+
392
+ Assert .assertTrue(
393
+ rulesEngineService.taskServiceStatusExist(taskList, ServiceStatus .COMPLETED .name),
394
+ )
395
+ }
396
+
300
397
@Test
301
398
fun testFilterResourcesWithFhirPathExtraction () {
302
399
val task =
0 commit comments