Fixed broken tests

This commit is contained in:
Keith Holliday
2017-05-20 17:19:35 -06:00
parent 99a2013767
commit c08c0685f3
4 changed files with 20 additions and 8 deletions

View File

@@ -371,7 +371,7 @@ describe('cron', () => {
tasksByType.dailys[0].everyX = 5; tasksByType.dailys[0].everyX = 5;
tasksByType.dailys[0].startDate = moment().add(1, 'days').toDate(); tasksByType.dailys[0].startDate = moment().add(1, 'days').toDate();
cron({user, tasksByType, daysMissed, analytics}); cron({user, tasksByType, daysMissed, analytics});
expect(tasksByType.dailys[0].nextDue.length).to.eql(3); expect(tasksByType.dailys[0].nextDue.length).to.eql(6);
}); });
it('should add history', () => { it('should add history', () => {

View File

@@ -543,7 +543,19 @@ describe('shouldDo', () => {
beforeEach(() => { beforeEach(() => {
options.dayStart = 7; options.dayStart = 7;
dailyTask.everyX = 3; dailyTask.everyX = 3;
threeWeeksFromToday = moment().add(3, 'weeks').toDate(); dailyTask.repeat = {
su: false,
s: false,
f: false,
th: false,
w: false,
t: false,
m: false,
};
day = moment();
dailyTask.repeat[DAY_MAPPING[day.day()]] = true;
threeWeeksFromToday = moment().add(3, 'weeks').day(day.day()).toDate();
}); });
context('Current Date is one day before the matching day', () => { context('Current Date is one day before the matching day', () => {
@@ -620,7 +632,7 @@ describe('shouldDo', () => {
dailyTask.everyX = 2; dailyTask.everyX = 2;
dailyTask.frequency = 'monthly'; dailyTask.frequency = 'monthly';
dailyTask.daysOfMonth = [15]; dailyTask.daysOfMonth = [15];
day = moment().date(15).toDate(); day = moment().add(2, 'months').date(15).toDate();
expect(shouldDo(day, dailyTask, options)).to.equal(true); expect(shouldDo(day, dailyTask, options)).to.equal(true);
}); });

View File

@@ -390,11 +390,11 @@ angular.module('habitrpg')
}; };
function generateNextDue (task, user) { function generateNextDue (task, user) {
let options = angular.copy(user); var options = angular.copy(user);
options.nextDue = true; options.nextDue = true;
let nextDueDates = Shared.shouldDo(new Date, task, options); var nextDueDates = Shared.shouldDo(new Date, task, options);
let nextDue = nextDueDates.map((date) => { var nextDue = nextDueDates.map(function (date) {
return date.format('MM-DD-YYYY'); return date.format('MM-DD-YYYY');
}); });

View File

@@ -128,7 +128,7 @@ export function shouldDo (day, dailyTask, options = {}) {
} else if (dailyTask.frequency === 'weekly') { } else if (dailyTask.frequency === 'weekly') {
let schedule = moment(startDate).recur(); let schedule = moment(startDate).recur();
let differenceInWeeks = moment(day).week() - moment(startDate).week(); let differenceInWeeks = moment(startOfDayWithCDSTime).week() - moment(startDate).week();
let matchEveryX = differenceInWeeks % dailyTask.everyX === 0; let matchEveryX = differenceInWeeks % dailyTask.everyX === 0;
schedule = schedule.every(daysOfTheWeek).daysOfWeek(); schedule = schedule.every(daysOfTheWeek).daysOfWeek();
@@ -147,7 +147,7 @@ export function shouldDo (day, dailyTask, options = {}) {
} else if (dailyTask.frequency === 'monthly') { } else if (dailyTask.frequency === 'monthly') {
let schedule = moment(startDate).recur(); let schedule = moment(startDate).recur();
let differenceInMonths = moment(day).month() - moment(startDate).month(); let differenceInMonths = moment(startOfDayWithCDSTime).month() - moment(startDate).month();
let matchEveryX = differenceInMonths % dailyTask.everyX === 0; let matchEveryX = differenceInMonths % dailyTask.everyX === 0;
if (dailyTask.weeksOfMonth && dailyTask.weeksOfMonth.length > 0) { if (dailyTask.weeksOfMonth && dailyTask.weeksOfMonth.length > 0) {