Skip to content

Commit 3f00852

Browse files
Changed the incomplete days to be a param instead of hard-coded at 3 days
1 parent 16d0350 commit 3f00852

3 files changed

Lines changed: 23 additions & 16 deletions

File tree

APCAppCore/APCAppCore/Library/Objects/APCTasksReminderManager.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,12 +92,15 @@ static NSUInteger const kAPCTaskReminderDayOfWeekSaturday = 7;
9292
*
9393
* @param oldTaskGroups the result from reading cache BEFORE sycning from the web
9494
* @param newTaskGroups the result from reading cache AFTER sycning from the web
95+
* @param daysIncompleteToRemind the number of days that an activity can remain incomplete before it is considered "new"
9596
*
9697
* @return an array of task group objects that are considered "new" per the 3 conditions above
9798
*/
98-
+ (NSArray*)findNewTasksFromOld:(NSArray*)oldTaskGroups
99-
toNewTaskGroups:(NSArray*)newTaskGroups;
99+
+ (NSArray*)findNewTasksFromOld:(NSArray*) oldTaskGroups
100+
toNewTaskGroups:(NSArray*) newTaskGroups
101+
withAcitivtyReminderDuration:(NSInteger) daysIncomplete;
100102

101-
+ (BOOL) isMoreThan3DaysOld:(APCTask*) task;
103+
+ (BOOL) isTask:(APCTask*) task
104+
olderThan:(NSInteger) days;
102105

103106
@end

APCAppCore/APCAppCore/Library/Objects/APCTasksReminderManager.m

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -676,8 +676,9 @@ -(BOOL)includeTaskInReminder:(APCTaskReminder *)taskReminder{
676676
#pragma mark - Task Reminder Helper For Determining "new tasks"
677677
/*********************************************************************************/
678678

679-
+ (NSArray*)findNewTasksFromOld:(NSArray*)oldTaskGroups
680-
toNewTaskGroups:(NSArray*)newTaskGroups
679+
+ (NSArray*)findNewTasksFromOld:(NSArray*) oldTaskGroups
680+
toNewTaskGroups:(NSArray*) newTaskGroups
681+
withAcitivtyReminderDuration:(NSInteger) daysIncomplete
681682
{
682683
NSArray* oldTasks = [oldTaskGroups valueForKey:@"task"];
683684
NSMutableArray* oldTaskIds = [[oldTasks valueForKey:@"taskID"] mutableCopy];
@@ -716,8 +717,8 @@ + (NSArray*)findNewTasksFromOld:(NSArray*)oldTaskGroups
716717
APCTask* oldTask = oldTaskById[task.taskID];
717718
// Condition 3)
718719
if(taskGroup.isFullyCompleted == NO &&
719-
[self isMoreThan3DaysOld:oldTask] == NO &&
720-
[self isMoreThan3DaysOld:task] == YES)
720+
[self isTask:oldTask olderThan:daysIncomplete] == NO &&
721+
[self isTask:task olderThan:daysIncomplete] == YES)
721722
{
722723
[newTasks addObject:task];
723724
}
@@ -727,10 +728,11 @@ + (NSArray*)findNewTasksFromOld:(NSArray*)oldTaskGroups
727728
return newTasks;
728729
}
729730

730-
+ (BOOL) isMoreThan3DaysOld:(APCTask*) task
731+
+ (BOOL) isTask:(APCTask*) task
732+
olderThan:(NSInteger) days
731733
{
732734
NSInteger daysBetweenFromNow = [NSDate daysBetweenDate:task.updatedAt andDate:[NSDate date]];
733-
return daysBetweenFromNow > 3 || daysBetweenFromNow < -3;
735+
return daysBetweenFromNow > days;
734736
}
735737

736738
@end

APCAppCore/APCAppCoreTests/Reminder Tests/APCTasksReminderManagerTests.m

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@
4242
static NSString* const kCardiacName = @"Cardiac Health Activity";
4343
static NSString* const kBalanceName = @"Balance Assessment";
4444

45+
static NSInteger const kDaysIncompleteForActivityReminder = 3;
46+
4547
@interface APCTasksReminderManagerTests : XCTestCase
4648
@property (nonatomic, strong) MockAPCTasksReminderManager* reminderManager;
4749
@property (nonatomic, strong) NSTimeZone* originalTimeZone;
@@ -327,7 +329,7 @@ - (void) testSurveyNoNew
327329
updatedAt:[[NSDate date] dateByAddingDays:1]
328330
complete:NO]];
329331

330-
NSArray* newReminderTasks = [APCTasksReminderManager findNewTasksFromOld:oldTaskGroups toNewTaskGroups:newTaskGroups];
332+
NSArray* newReminderTasks = [APCTasksReminderManager findNewTasksFromOld:oldTaskGroups toNewTaskGroups:newTaskGroups withAcitivtyReminderDuration:kDaysIncompleteForActivityReminder];
331333

332334
XCTAssertTrue(newReminderTasks != nil);
333335
XCTAssertTrue(newReminderTasks.count == 0);
@@ -350,7 +352,7 @@ - (void) testSurveyAdded
350352
updatedAt:[NSDate date]
351353
complete:YES]];
352354

353-
NSArray* newReminderTasks = [APCTasksReminderManager findNewTasksFromOld:oldTaskGroups toNewTaskGroups:newTaskGroups];
355+
NSArray* newReminderTasks = [APCTasksReminderManager findNewTasksFromOld:oldTaskGroups toNewTaskGroups:newTaskGroups withAcitivtyReminderDuration:kDaysIncompleteForActivityReminder];
354356

355357
XCTAssertTrue(newReminderTasks != nil);
356358
XCTAssertTrue(newReminderTasks.count > 0);
@@ -379,7 +381,7 @@ - (void) testSurveyRecurringAdded
379381
updatedAt:[NSDate date]
380382
complete:YES]];
381383

382-
NSArray* newReminderTasks = [APCTasksReminderManager findNewTasksFromOld:oldTaskGroups toNewTaskGroups:newTaskGroups];
384+
NSArray* newReminderTasks = [APCTasksReminderManager findNewTasksFromOld:oldTaskGroups toNewTaskGroups:newTaskGroups withAcitivtyReminderDuration:kDaysIncompleteForActivityReminder];
383385

384386
XCTAssertTrue(newReminderTasks != nil);
385387
XCTAssertTrue(newReminderTasks.count > 0);
@@ -403,7 +405,7 @@ - (void) testActivityAdded
403405
updatedAt:[NSDate date]
404406
complete:YES]];
405407

406-
NSArray* newReminderTasks = [APCTasksReminderManager findNewTasksFromOld:oldTaskGroups toNewTaskGroups:newTaskGroups];
408+
NSArray* newReminderTasks = [APCTasksReminderManager findNewTasksFromOld:oldTaskGroups toNewTaskGroups:newTaskGroups withAcitivtyReminderDuration:kDaysIncompleteForActivityReminder];
407409

408410
XCTAssertTrue(newReminderTasks != nil);
409411
XCTAssertTrue(newReminderTasks.count > 0);
@@ -432,7 +434,7 @@ - (void) testActivityRecurringAdded
432434
updatedAt:[NSDate date]
433435
complete:NO]];
434436

435-
NSArray* newReminderTasks = [APCTasksReminderManager findNewTasksFromOld:oldTaskGroups toNewTaskGroups:newTaskGroups];
437+
NSArray* newReminderTasks = [APCTasksReminderManager findNewTasksFromOld:oldTaskGroups toNewTaskGroups:newTaskGroups withAcitivtyReminderDuration:kDaysIncompleteForActivityReminder];
436438

437439
XCTAssertTrue(newReminderTasks != nil);
438440
XCTAssertTrue(newReminderTasks.count > 0);
@@ -461,7 +463,7 @@ - (void) testActivityNoNew
461463
updatedAt:[[NSDate date] dateByAddingDays:-2]
462464
complete:NO]];
463465

464-
NSArray* newReminderTasks = [APCTasksReminderManager findNewTasksFromOld:oldTaskGroups toNewTaskGroups:newTaskGroups];
466+
NSArray* newReminderTasks = [APCTasksReminderManager findNewTasksFromOld:oldTaskGroups toNewTaskGroups:newTaskGroups withAcitivtyReminderDuration:kDaysIncompleteForActivityReminder];
465467

466468
XCTAssertTrue(newReminderTasks != nil);
467469
XCTAssertTrue(newReminderTasks.count == 0);
@@ -489,7 +491,7 @@ - (void) testActivityUpdatedNew
489491
updatedAt:[[NSDate date] dateByAddingDays:-4]
490492
complete:NO]];
491493

492-
NSArray* newReminderTasks = [APCTasksReminderManager findNewTasksFromOld:oldTaskGroups toNewTaskGroups:newTaskGroups];
494+
NSArray* newReminderTasks = [APCTasksReminderManager findNewTasksFromOld:oldTaskGroups toNewTaskGroups:newTaskGroups withAcitivtyReminderDuration:kDaysIncompleteForActivityReminder];
493495

494496
XCTAssertTrue(newReminderTasks != nil);
495497
XCTAssertTrue(newReminderTasks.count > 0);

0 commit comments

Comments
 (0)