From c5bf06cd243c4b9053e59a6dff327d436cae0861 Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Sat, 26 Dec 2015 08:11:02 -0600 Subject: [PATCH] tests(common): Add test for preening todos --- test/common/preenTodos.test.js | 76 ++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 test/common/preenTodos.test.js diff --git a/test/common/preenTodos.test.js b/test/common/preenTodos.test.js new file mode 100644 index 0000000000..c9f9a45028 --- /dev/null +++ b/test/common/preenTodos.test.js @@ -0,0 +1,76 @@ +import moment from 'moment'; +import { generateTodo } from '../helpers/common.helper'; +import { preenTodos } from '../../common/script/index.js'; + +describe('#preenTodos', () => { + let todos, uncompletedTodo, completedChallengeTodo, newlyCompletedTodo, completedTodoFromTwoDaysAgo, completedTodoFromThreeDaysAgo, completedTodoFromTenDaysAgo; + + beforeEach(() => { + uncompletedTodo = generateTodo({ completed: false }); + completedChallengeTodo = generateTodo({ + completed: true, + challenge: { id: 'some-challenge' }, + }); + newlyCompletedTodo = generateTodo({ + completed: true, + dateCompleted: moment(), + }); + completedTodoFromTwoDaysAgo = generateTodo({ + completed: true, + dateCompleted: moment().subtract({ days: 2 }), + }); + completedTodoFromThreeDaysAgo = generateTodo({ + completed: true, + dateCompleted: moment().subtract({ days: 3 }), + }); + completedTodoFromTenDaysAgo = generateTodo({ + completed: true, + dateCompleted: moment().subtract({ days: 10 }), + }); + + todos = [ + uncompletedTodo, + completedChallengeTodo, + newlyCompletedTodo, + completedTodoFromTwoDaysAgo, + completedTodoFromThreeDaysAgo, + completedTodoFromTenDaysAgo, + ]; + }); + + it('includes uncompleted todos', () => { + let preenedTodos = preenTodos(todos); + + expect(preenedTodos).to.include(uncompletedTodo); + }); + + it('includes completed challenge todos', () => { + let preenedTodos = preenTodos(todos); + + expect(preenedTodos).to.include(completedChallengeTodo); + }); + + it('includes recently completed todos', () => { + let preenedTodos = preenTodos(todos); + + expect(preenedTodos).to.include(newlyCompletedTodo); + }); + + it('includes todos completed two days ago', () => { + let preenedTodos = preenTodos(todos); + + expect(preenedTodos).to.include(completedTodoFromTwoDaysAgo); + }); + + it('does not include todos completed three days ago', () => { + let preenedTodos = preenTodos(todos); + + expect(preenedTodos).to.not.include(completedTodoFromThreeDaysAgo); + }); + + it('does not include todos completed more than three days ago', () => { + let preenedTodos = preenTodos(todos); + + expect(preenedTodos).to.not.include(completedTodoFromTenDaysAgo); + }); +});