From 0ff58d7aada470309079279d5af9f9a1a137d945 Mon Sep 17 00:00:00 2001 From: Kevin Ulrich Date: Tue, 9 Apr 2024 13:16:34 -0700 Subject: [PATCH] Chore/test weekly (#10) chore: wrote tests for weekly service --- src/modules/commands/assign.test.js | 6 +- src/modules/commands/chore.test.js | 6 +- src/modules/commands/complete.test.js | 6 +- src/modules/commands/swap.test.js | 6 +- src/modules/jobs/daily/daily.test.js | 2 +- src/modules/jobs/monthly/monthly.test.js | 4 +- src/modules/jobs/weekly/weekly.test.js | 2 +- src/services/getChores.test.js | 2 +- src/services/unassignChores.test.js | 2 +- src/services/unassignCompletedChores.test.js | 2 +- src/services/user.test.js | 5 +- src/test/structs.js | 86 -------------------- 12 files changed, 32 insertions(+), 97 deletions(-) delete mode 100644 src/test/structs.js diff --git a/src/modules/commands/assign.test.js b/src/modules/commands/assign.test.js index a1f5347..29be12d 100644 --- a/src/modules/commands/assign.test.js +++ b/src/modules/commands/assign.test.js @@ -5,7 +5,11 @@ const services = require("../../services"); const strings = require("../../constants/strings"); const { TABLES } = require("../../constants/tables"); const { CHORE_STATES } = require("../../constants/chores"); -const { testChores, getTestBody, getTestUsers } = require("../../test/structs"); +const { + testChores, + getTestBody, + getTestUsers, +} = require("../../test-fixtures/fixtures"); jest.mock("../handler", () => jest.fn(() => {})); jest.mock("../../services"); diff --git a/src/modules/commands/chore.test.js b/src/modules/commands/chore.test.js index 0dd11f8..2571a62 100644 --- a/src/modules/commands/chore.test.js +++ b/src/modules/commands/chore.test.js @@ -3,7 +3,11 @@ const globalHandler = require("../handler"); const { Client } = require("discord.js"); const services = require("../../services"); const strings = require("../../constants/strings"); -const { testChores, getTestBody, getTestUsers } = require("../../test/structs"); +const { + testChores, + getTestBody, + getTestUsers, +} = require("../../test-fixtures/fixtures"); const getCurrentChoreMessage = require("../../helpers/getCurrentChoreMessage"); jest.mock("../handler", () => jest.fn(() => {})); diff --git a/src/modules/commands/complete.test.js b/src/modules/commands/complete.test.js index 35818bf..0099d68 100644 --- a/src/modules/commands/complete.test.js +++ b/src/modules/commands/complete.test.js @@ -1,7 +1,11 @@ const { data, handler, _action } = require("./complete"); const globalHandler = require("../handler"); const { Client } = require("discord.js"); -const { getTestBody, testChores, getTestUsers } = require("../../test/structs"); +const { + getTestBody, + testChores, + getTestUsers, +} = require("../../test-fixtures/fixtures"); const strings = require("../../constants/strings"); const getChoreCompleteMessage = require("../../helpers/getChoreCompleteMessage"); const { CHORE_STATES } = require("../../constants/chores"); diff --git a/src/modules/commands/swap.test.js b/src/modules/commands/swap.test.js index 2474217..b45e4e2 100644 --- a/src/modules/commands/swap.test.js +++ b/src/modules/commands/swap.test.js @@ -1,6 +1,10 @@ const { data, handler, _action } = require("./swap"); const globalHandler = require("../handler"); -const { getTestBody, testChores, getTestUsers } = require("../../test/structs"); +const { + getTestBody, + testChores, + getTestUsers, +} = require("../../test-fixtures/fixtures"); const strings = require("../../constants/strings"); const { CHORE_STATES } = require("../../constants/chores"); const services = require("../../services"); diff --git a/src/modules/jobs/daily/daily.test.js b/src/modules/jobs/daily/daily.test.js index 1c9dd42..a7b5263 100644 --- a/src/modules/jobs/daily/daily.test.js +++ b/src/modules/jobs/daily/daily.test.js @@ -1,7 +1,7 @@ const { handler } = require("./daily"); const { Client } = require("discord.js"); const services = require("../../../services"); -const { testChores } = require("../../../test/structs"); +const { testChores } = require("../../../test-fixtures/fixtures"); const { getDMReminderMessage, } = require("../../../helpers/getDMReminderMessage"); diff --git a/src/modules/jobs/monthly/monthly.test.js b/src/modules/jobs/monthly/monthly.test.js index 2845ac1..0b78763 100644 --- a/src/modules/jobs/monthly/monthly.test.js +++ b/src/modules/jobs/monthly/monthly.test.js @@ -2,7 +2,9 @@ const { handler } = require("./monthly"); const { Client } = require("discord.js"); const services = require("../../../services"); const getMonthEndMessage = require("../../../helpers/getMonthEndMessage"); -const { getTestUsersSortedByScoreDesc } = require("../../../test/structs"); +const { + getTestUsersSortedByScoreDesc, +} = require("../../../test-fixtures/fixtures"); jest.mock("../../../services"); jest.mock("discord.js", () => ({ diff --git a/src/modules/jobs/weekly/weekly.test.js b/src/modules/jobs/weekly/weekly.test.js index e0bc887..c81f9aa 100644 --- a/src/modules/jobs/weekly/weekly.test.js +++ b/src/modules/jobs/weekly/weekly.test.js @@ -1,7 +1,7 @@ const { handler } = require("./weekly"); const { Client } = require("discord.js"); const services = require("../../../services"); -const { testChores, getTestUsers } = require("../../../test/structs"); +const { testChores, getTestUsers } = require("../../../test-fixtures/fixtures"); jest.mock("../../../services"); jest.mock("discord.js", () => ({ diff --git a/src/services/getChores.test.js b/src/services/getChores.test.js index ce0ef70..3fa5df6 100644 --- a/src/services/getChores.test.js +++ b/src/services/getChores.test.js @@ -6,7 +6,7 @@ const { getChore, } = require("./getChores"); const db = require("../services/db"); -const { testChores, getAllTestChores } = require("../test/structs"); +const { testChores, getAllTestChores } = require("../test-fixtures/fixtures"); const { TABLES } = require("../constants/tables"); jest.mock("../services/db"); diff --git a/src/services/unassignChores.test.js b/src/services/unassignChores.test.js index 418a160..7bff1b0 100644 --- a/src/services/unassignChores.test.js +++ b/src/services/unassignChores.test.js @@ -6,7 +6,7 @@ const { getChore, } = require("./getChores"); const db = require("../services/db"); -const { testChores } = require("../test/structs"); +const { testChores } = require("../test-fixtures/fixtures"); const { TABLES } = require("../constants/tables"); const { unassignChores } = require("./unassignChores"); const { CHORE_STATES } = require("../constants/chores"); diff --git a/src/services/unassignCompletedChores.test.js b/src/services/unassignCompletedChores.test.js index b8f6fed..8334e52 100644 --- a/src/services/unassignCompletedChores.test.js +++ b/src/services/unassignCompletedChores.test.js @@ -1,5 +1,5 @@ const { getCompletedChores } = require("./getChores"); -const { testChores } = require("../test/structs"); +const { testChores } = require("../test-fixtures/fixtures"); const { unassignChores } = require("./unassignChores"); const { unassignCompletedChores } = require("./unassignCompletedChores"); diff --git a/src/services/user.test.js b/src/services/user.test.js index 90ba779..c44fb00 100644 --- a/src/services/user.test.js +++ b/src/services/user.test.js @@ -1,6 +1,9 @@ const { getAllUsers, getUser, updateUsers } = require("./user"); const db = require("../services/db"); -const { getTestDiscordUsers, getTestUsers } = require("../test/structs"); +const { + getTestDiscordUsers, + getTestUsers, +} = require("../test-fixtures/fixtures"); jest.mock("../services/db"); diff --git a/src/test/structs.js b/src/test/structs.js deleted file mode 100644 index 188f991..0000000 --- a/src/test/structs.js +++ /dev/null @@ -1,86 +0,0 @@ -const { CHORE_STATES } = require("../constants/chores"); -const { CHORE_ROLE, GARBAGE_ROLE } = require("../constants/roles"); -const { cloneDeep } = require("lodash"); - -const testDiscordUsers = [ - { - id: "1", - displayName: "user1", - roles: { cache: [{ name: CHORE_ROLE }, { name: GARBAGE_ROLE }] }, - }, - { id: "2", displayName: "user2", roles: { cache: [{ name: GARBAGE_ROLE }] } }, - { id: "3", displayName: "user3", roles: { cache: [{ name: CHORE_ROLE }] } }, - { id: "4", displayName: "user4", roles: { cache: [] } }, -]; - -const getTestDiscordUsers = () => cloneDeep(testDiscordUsers); - -const testUsers = [ - { id: "1", displayName: "user1", numCycleChores: 5, currentChore: "test3" }, - { id: "2", displayName: "user2", numCycleChores: 1 }, - { id: "3", displayName: "user3", numCycleChores: 4, currentChore: "test4" }, - { id: "4", displayName: "user4", numCycleChores: 6 }, -]; - -const getTestUsers = () => cloneDeep(testUsers); - -const testUsersSortedByScoreDesc = [ - { id: "4", displayName: "user4", numCycleChores: 6 }, - { id: "1", displayName: "user1", numCycleChores: 5, currentChore: "test3" }, - { id: "3", displayName: "user3", numCycleChores: 4, currentChore: "test4" }, - { id: "2", displayName: "user2", numCycleChores: 1 }, -]; - -const getTestUsersSortedByScoreDesc = () => - cloneDeep(testUsersSortedByScoreDesc); - -const todoChores = [ - { id: "test", status: CHORE_STATES.TODO }, - { id: "test2", status: CHORE_STATES.TODO }, -]; - -const incompleteChores = [ - { id: "test3", status: CHORE_STATES.ASSIGNED, reviewer: "3", user: "1" }, - { id: "test4", status: CHORE_STATES.ASSIGNED, reviewer: "2", user: "3" }, -]; - -const completedChores = [ - { id: "test5", status: CHORE_STATES.COMPLETE, reviewer: "3", user: "1" }, - { id: "test6", status: CHORE_STATES.COMPLETE, reviewer: "2", user: "3" }, -]; - -const incompleteChoresNoReviewersAvailable = [ - { id: "test", status: CHORE_STATES.ASSIGNED, reviewer: "1", user: "4" }, - { id: "test2", status: CHORE_STATES.ASSIGNED, reviewer: "4", user: "2" }, - { id: "test3", status: CHORE_STATES.ASSIGNED, reviewer: "3", user: "1" }, - { id: "test4", status: CHORE_STATES.ASSIGNED, reviewer: "2", user: "3" }, -]; - -const testChores = { - getTestTodoChores: () => cloneDeep(todoChores), - getTestIncompleteChores: () => cloneDeep(incompleteChores), - getTestCompletedChores: () => cloneDeep(completedChores), - getTestIncompleteChoresNoReviewersAvailable: () => - cloneDeep(incompleteChoresNoReviewersAvailable), -}; - -const allTestChores = [...todoChores, ...incompleteChores, ...completedChores]; - -const getAllTestChores = () => cloneDeep(allTestChores); - -const getTestBody = (userId) => ({ - member: { - user: { - id: userId, - }, - }, -}); - -module.exports = { - getTestUsers, - testChores, - getTestUsersSortedByScoreDesc, - getTestBody, - getAllTestChores, - getTestDiscordUsers, -};