From d8eb1cff7b95ba86dac4a9322055de95fa6c09dc Mon Sep 17 00:00:00 2001 From: Sahar Abdel Samad Date: Thu, 20 Jan 2022 19:34:54 +0200 Subject: [PATCH 1/5] Test editTask updateSatutus and clearComplete functions --- src/tests/__tests__/addDelete.test.js | 26 +++++++++++++++++++++++++- src/tests/addDelete.js | 20 ++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/src/tests/__tests__/addDelete.test.js b/src/tests/__tests__/addDelete.test.js index 06b52e3..591ebd4 100644 --- a/src/tests/__tests__/addDelete.test.js +++ b/src/tests/__tests__/addDelete.test.js @@ -1,6 +1,6 @@ /** * @jest-environment jsdom */ import { - addtask, removeTask, + addtask, removeTask,updateStatuses, editTask, clearCompleted } from '../addDelete'; describe('Add and delete tests', () => { @@ -9,9 +9,15 @@ describe('Add and delete tests', () => { index: 1, completed: false, }; + const task2 = { + description: 'Task2', + index: 2, + completed: true, + }; test('Add one item to the list', () => { addtask(task); + addtask(task2); const list = document.querySelectorAll('.listItem'); expect(list).toHaveLength(1); }); @@ -21,4 +27,22 @@ describe('Add and delete tests', () => { const list = document.querySelectorAll('.listItem'); expect(list).toHaveLength(0); }); + + test ('Update a Task', () => { + const textUpdate = "This is the update"; + editTask(task, textUpdate); + expect(task.description).toEqual("This is the update"); + }) + + test('Update Status', () => { + const statusComplete = true; + updateStatuses(task, statusComplete); + expect(task.completed).toEqual(statusComplete); + }) + + test('clear completed tasks', () => { + clearCompleted(); + const list = document.querySelectorAll('.listItem'); + expect(list).toMatchObject({}); + }); }); diff --git a/src/tests/addDelete.js b/src/tests/addDelete.js index 0b608c3..0a5ab5b 100644 --- a/src/tests/addDelete.js +++ b/src/tests/addDelete.js @@ -18,5 +18,25 @@ export const removeTask = (index) => { arrayWithRemovedTask.forEach((item, index) => { item.index = index + 1; }); + console.log(arrayWithRemovedTask) localStorage.setItem('list', JSON.stringify(arrayWithRemovedTask)); +}; + +export const editTask = (task, textUpdate) => { + task.description = textUpdate; + console.log(task) + localStorage.setItem("list",JSON.stringify(task)); +}; + +export const updateStatuses = (task, status) => { + task.completed = status; + localStorage.setItem("list", task); +}; + +export const clearCompleted = () => { + const arr = JSON.parse(localStorage.getItem('list') || '[]'); + console.log(arr) + const notCompleted = arr.filter((task) => task.completed !== true); + console.log(notCompleted) + localStorage.setItem("list", notCompleted); }; \ No newline at end of file From 3e4490b2bd59c1224e27333df5ca6757117fd715 Mon Sep 17 00:00:00 2001 From: Sahar Abdel Samad Date: Thu, 20 Jan 2022 20:27:29 +0200 Subject: [PATCH 2/5] Create a new file for the tests --- src/tests/__tests__/[..].test.js | 20 ++++++++++++++++++++ src/tests/__tests__/addDelete.test.js | 25 +------------------------ src/tests/addDelete.js | 10 +++------- 3 files changed, 24 insertions(+), 31 deletions(-) create mode 100644 src/tests/__tests__/[..].test.js diff --git a/src/tests/__tests__/[..].test.js b/src/tests/__tests__/[..].test.js new file mode 100644 index 0000000..8a0d894 --- /dev/null +++ b/src/tests/__tests__/[..].test.js @@ -0,0 +1,20 @@ +/** * @jest-environment jsdom */ +import { + updateStatuses, editTask, clearCompleted, + } from '../addDelete'; + + describe('Test clearCompleted tasks, update Status and edit Task', () => { + const task = { + description: 'Task1', + index: 1, + completed: false, + }; + + test('clear completed tasks', () => { + clearCompleted(); + const list = document.querySelectorAll('.listItem'); + expect(list).toMatchObject({}); + }); + + }); + \ No newline at end of file diff --git a/src/tests/__tests__/addDelete.test.js b/src/tests/__tests__/addDelete.test.js index 591ebd4..c01d931 100644 --- a/src/tests/__tests__/addDelete.test.js +++ b/src/tests/__tests__/addDelete.test.js @@ -1,6 +1,6 @@ /** * @jest-environment jsdom */ import { - addtask, removeTask,updateStatuses, editTask, clearCompleted + addtask, removeTask } from '../addDelete'; describe('Add and delete tests', () => { @@ -9,15 +9,9 @@ describe('Add and delete tests', () => { index: 1, completed: false, }; - const task2 = { - description: 'Task2', - index: 2, - completed: true, - }; test('Add one item to the list', () => { addtask(task); - addtask(task2); const list = document.querySelectorAll('.listItem'); expect(list).toHaveLength(1); }); @@ -27,22 +21,5 @@ describe('Add and delete tests', () => { const list = document.querySelectorAll('.listItem'); expect(list).toHaveLength(0); }); - - test ('Update a Task', () => { - const textUpdate = "This is the update"; - editTask(task, textUpdate); - expect(task.description).toEqual("This is the update"); - }) - - test('Update Status', () => { - const statusComplete = true; - updateStatuses(task, statusComplete); - expect(task.completed).toEqual(statusComplete); - }) - test('clear completed tasks', () => { - clearCompleted(); - const list = document.querySelectorAll('.listItem'); - expect(list).toMatchObject({}); - }); }); diff --git a/src/tests/addDelete.js b/src/tests/addDelete.js index 0a5ab5b..f00d831 100644 --- a/src/tests/addDelete.js +++ b/src/tests/addDelete.js @@ -18,25 +18,21 @@ export const removeTask = (index) => { arrayWithRemovedTask.forEach((item, index) => { item.index = index + 1; }); - console.log(arrayWithRemovedTask) localStorage.setItem('list', JSON.stringify(arrayWithRemovedTask)); }; export const editTask = (task, textUpdate) => { task.description = textUpdate; - console.log(task) - localStorage.setItem("list",JSON.stringify(task)); + localStorage.setItem('list', JSON.stringify(task)); }; export const updateStatuses = (task, status) => { task.completed = status; - localStorage.setItem("list", task); + localStorage.setItem('list', task); }; export const clearCompleted = () => { const arr = JSON.parse(localStorage.getItem('list') || '[]'); - console.log(arr) const notCompleted = arr.filter((task) => task.completed !== true); - console.log(notCompleted) - localStorage.setItem("list", notCompleted); + localStorage.setItem('list', notCompleted); }; \ No newline at end of file From 797d444ebc7f00c8b5dfe86a1198c9c6b5277b26 Mon Sep 17 00:00:00 2001 From: gdumani Date: Thu, 20 Jan 2022 12:39:08 -0600 Subject: [PATCH 3/5] add test for edit function --- .../clearcompleted-edit-status.test.js | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/tests/__tests__/clearcompleted-edit-status.test.js diff --git a/src/tests/__tests__/clearcompleted-edit-status.test.js b/src/tests/__tests__/clearcompleted-edit-status.test.js new file mode 100644 index 0000000..24805cc --- /dev/null +++ b/src/tests/__tests__/clearcompleted-edit-status.test.js @@ -0,0 +1,25 @@ +/** * @jest-environment jsdom */ +import { + updateStatuses, editTask, clearCompleted, +} from '../addDelete'; + +describe('Test clearCompleted tasks, update Status and edit Task', () => { + const task = { + description: 'Task1', + index: 1, + completed: false, + }; + + test('clear completed tasks', () => { + clearCompleted(); + const list = document.querySelectorAll('.listItem'); + expect(list).toMatchObject({}); + }); + + test('Edit a Task', () => { + const textUpdate = 'This is the update'; + expect(task.description).not.toEqual('This is the update'); + editTask(task, textUpdate); + expect(task.description).toEqual('This is the update'); + }); +}); From 84e1144dd8725312f694e1e92b6af10ae36615c5 Mon Sep 17 00:00:00 2001 From: gdumani Date: Thu, 20 Jan 2022 12:42:10 -0600 Subject: [PATCH 4/5] Add test for edit function --- src/tests/__tests__/[..].test.js | 20 -------------------- src/tests/__tests__/addDelete.test.js | 3 +-- 2 files changed, 1 insertion(+), 22 deletions(-) delete mode 100644 src/tests/__tests__/[..].test.js diff --git a/src/tests/__tests__/[..].test.js b/src/tests/__tests__/[..].test.js deleted file mode 100644 index 8a0d894..0000000 --- a/src/tests/__tests__/[..].test.js +++ /dev/null @@ -1,20 +0,0 @@ -/** * @jest-environment jsdom */ -import { - updateStatuses, editTask, clearCompleted, - } from '../addDelete'; - - describe('Test clearCompleted tasks, update Status and edit Task', () => { - const task = { - description: 'Task1', - index: 1, - completed: false, - }; - - test('clear completed tasks', () => { - clearCompleted(); - const list = document.querySelectorAll('.listItem'); - expect(list).toMatchObject({}); - }); - - }); - \ No newline at end of file diff --git a/src/tests/__tests__/addDelete.test.js b/src/tests/__tests__/addDelete.test.js index c01d931..06b52e3 100644 --- a/src/tests/__tests__/addDelete.test.js +++ b/src/tests/__tests__/addDelete.test.js @@ -1,6 +1,6 @@ /** * @jest-environment jsdom */ import { - addtask, removeTask + addtask, removeTask, } from '../addDelete'; describe('Add and delete tests', () => { @@ -21,5 +21,4 @@ describe('Add and delete tests', () => { const list = document.querySelectorAll('.listItem'); expect(list).toHaveLength(0); }); - }); From f13613e180abe9121a6f2c8c13f7bf2fadb92569 Mon Sep 17 00:00:00 2001 From: Ibrohim Rasulov Date: Thu, 20 Jan 2022 23:50:16 +0500 Subject: [PATCH 5/5] Add a test for updateStatus function --- src/tests/__tests__/clearcompleted-edit-status.test.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/tests/__tests__/clearcompleted-edit-status.test.js b/src/tests/__tests__/clearcompleted-edit-status.test.js index 24805cc..7579d93 100644 --- a/src/tests/__tests__/clearcompleted-edit-status.test.js +++ b/src/tests/__tests__/clearcompleted-edit-status.test.js @@ -22,4 +22,10 @@ describe('Test clearCompleted tasks, update Status and edit Task', () => { editTask(task, textUpdate); expect(task.description).toEqual('This is the update'); }); + + test('Update Status', () => { + const statusComplete = true; + updateStatuses(task, statusComplete); + expect(task.completed).toEqual(statusComplete); + }); });