From a22132621fbde4b49e0266e15c42ec51b8a75c16 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Tue, 12 Nov 2024 08:09:18 +0800 Subject: [PATCH] Remove unused DB method, add tests for pageSpeedCheckModule --- Server/db/mongo/MongoDB.js | 2 - .../db/mongo/modules/pageSpeedCheckModule.js | 21 +----- Server/tests/db/pageSpeedCheckModule.test.js | 65 +++++++++++++++++++ 3 files changed, 66 insertions(+), 22 deletions(-) create mode 100644 Server/tests/db/pageSpeedCheckModule.test.js diff --git a/Server/db/mongo/MongoDB.js b/Server/db/mongo/MongoDB.js index bab17c5ef..288aa83ad 100644 --- a/Server/db/mongo/MongoDB.js +++ b/Server/db/mongo/MongoDB.js @@ -118,7 +118,6 @@ import { import { createPageSpeedCheck, - getPageSpeedChecks, deletePageSpeedChecksByMonitorId, } from "./modules/pageSpeedCheckModule.js"; @@ -212,7 +211,6 @@ export default { updateChecksTTL, deleteMonitorsByUserId, createPageSpeedCheck, - getPageSpeedChecks, deletePageSpeedChecksByMonitorId, createHardwareCheck, createMaintenanceWindow, diff --git a/Server/db/mongo/modules/pageSpeedCheckModule.js b/Server/db/mongo/modules/pageSpeedCheckModule.js index 56dafa697..427893a96 100644 --- a/Server/db/mongo/modules/pageSpeedCheckModule.js +++ b/Server/db/mongo/modules/pageSpeedCheckModule.js @@ -25,25 +25,6 @@ const createPageSpeedCheck = async (pageSpeedCheckData) => { } }; -/** - * Get all PageSpeed checks for a monitor - * @async - * @param {string} monitorId - * @returns {Promise>} - * @throws {Error} - */ - -const getPageSpeedChecks = async (monitorId) => { - try { - const pageSpeedChecks = await PageSpeedCheck.find({ monitorId }); - return pageSpeedChecks; - } catch (error) { - error.service = SERVICE_NAME; - error.method = "getPageSpeedChecks"; - throw error; - } -}; - /** * Delete all PageSpeed checks for a monitor * @async @@ -63,4 +44,4 @@ const deletePageSpeedChecksByMonitorId = async (monitorId) => { } }; -export { createPageSpeedCheck, getPageSpeedChecks, deletePageSpeedChecksByMonitorId }; +export { createPageSpeedCheck, deletePageSpeedChecksByMonitorId }; diff --git a/Server/tests/db/pageSpeedCheckModule.test.js b/Server/tests/db/pageSpeedCheckModule.test.js new file mode 100644 index 000000000..ae6bf789c --- /dev/null +++ b/Server/tests/db/pageSpeedCheckModule.test.js @@ -0,0 +1,65 @@ +import sinon from "sinon"; +import PageSpeedCheck from "../../db/models/PageSpeedCheck.js"; +import { + createPageSpeedCheck, + deletePageSpeedChecksByMonitorId, +} from "../../db/mongo/modules/pageSpeedCheckModule.js"; + +const mockPageSpeedCheck = { + monitorId: "monitorId", + bestPractices: 1, + seo: 1, + performance: 1, +}; + +const mockDeletedResult = { deletedCount: 1 }; + +describe("pageSpeedCheckModule", () => { + let pageSpeedCheckSaveStub, pageSpeedCheckDeleteManyStub; + beforeEach(() => { + pageSpeedCheckSaveStub = sinon.stub(PageSpeedCheck.prototype, "save"); + pageSpeedCheckDeleteManyStub = sinon.stub(PageSpeedCheck, "deleteMany"); + }); + + afterEach(() => { + sinon.restore(); + }); + + describe("createPageSpeedCheck", () => { + it("should return a page speed check", async () => { + pageSpeedCheckSaveStub.resolves(mockPageSpeedCheck); + const pageSpeedCheck = await createPageSpeedCheck(mockPageSpeedCheck); + expect(pageSpeedCheck).to.deep.equal(mockPageSpeedCheck); + }); + + it("should handle an error", async () => { + const err = new Error("test error"); + pageSpeedCheckSaveStub.rejects(err); + try { + await expect(createPageSpeedCheck(mockPageSpeedCheck)); + } catch (error) { + expect(error).to.exist; + expect(error).to.deep.equal(err); + } + }); + }); + + describe("deletePageSpeedChecksByMonitorId", () => { + it("should return the number of deleted checks", async () => { + pageSpeedCheckDeleteManyStub.resolves(mockDeletedResult); + const result = await deletePageSpeedChecksByMonitorId("monitorId"); + expect(result).to.deep.equal(mockDeletedResult.deletedCount); + }); + + it("should handle an error", async () => { + const err = new Error("test error"); + pageSpeedCheckDeleteManyStub.rejects(err); + try { + await expect(deletePageSpeedChecksByMonitorId("monitorId")); + } catch (error) { + expect(error).to.exist; + expect(error).to.deep.equal(err); + } + }); + }); +});