From 6645898471577ac91ff6b5fd77c8df39d6ada5e5 Mon Sep 17 00:00:00 2001 From: Tom Butcher Date: Sun, 8 Mar 2026 01:32:37 +0000 Subject: [PATCH] Added tests. --- .../inventory/__tests__/orderitems.test.js | 2 ++ .../management/__tests__/materials.test.js | 27 +++++++++++-------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/services/inventory/__tests__/orderitems.test.js b/src/services/inventory/__tests__/orderitems.test.js index d3bf1c6..c790167 100644 --- a/src/services/inventory/__tests__/orderitems.test.js +++ b/src/services/inventory/__tests__/orderitems.test.js @@ -10,6 +10,8 @@ jest.unstable_mockModule('../../../database/database.js', () => ({ listObjectsByProperties: jest.fn(), getModelStats: jest.fn(), getModelHistory: jest.fn(), + aggregateRollups: jest.fn(), + aggregateRollupsHistory: jest.fn(), })); jest.unstable_mockModule('../../../database/schemas/inventory/orderitem.schema.js', () => ({ diff --git a/src/services/management/__tests__/materials.test.js b/src/services/management/__tests__/materials.test.js index 452bfc2..5fc1d1d 100644 --- a/src/services/management/__tests__/materials.test.js +++ b/src/services/management/__tests__/materials.test.js @@ -1,13 +1,17 @@ import { jest } from '@jest/globals'; +jest.unstable_mockModule('../../../database/database.js', () => ({ + listObjects: jest.fn(), + listObjectsByProperties: jest.fn(), + getObject: jest.fn(), + editObject: jest.fn(), + newObject: jest.fn(), + getModelStats: jest.fn(), + getModelHistory: jest.fn(), +})); + jest.unstable_mockModule('../../../database/schemas/management/material.schema.js', () => ({ - materialModel: { - modelName: 'Material', - aggregate: jest.fn(), - findOne: jest.fn(), - updateOne: jest.fn(), - create: jest.fn(), - }, + materialModel: { modelName: 'material' }, })); jest.unstable_mockModule('log4js', () => ({ @@ -28,6 +32,7 @@ const { newMaterialRouteHandler, } = await import('../materials.js'); +const { listObjects, getObject, newObject } = await import('../../../database/database.js'); const { materialModel } = await import('../../../database/schemas/management/material.schema.js'); describe('Material Service Route Handlers', () => { @@ -50,11 +55,11 @@ describe('Material Service Route Handlers', () => { describe('listMaterialsRouteHandler', () => { it('should list materials', async () => { const mockResult = [{ name: 'PLA' }]; - materialModel.aggregate.mockResolvedValue(mockResult); + listObjects.mockResolvedValue(mockResult); await listMaterialsRouteHandler(req, res); - expect(materialModel.aggregate).toHaveBeenCalled(); + expect(listObjects).toHaveBeenCalledWith(expect.objectContaining({ model: materialModel })); expect(res.send).toHaveBeenCalledWith(mockResult); }); }); @@ -63,11 +68,11 @@ describe('Material Service Route Handlers', () => { it('should get a material by ID', async () => { req.params.id = '507f1f77bcf86cd799439011'; const mockMaterial = { _id: '507f1f77bcf86cd799439011', name: 'PLA' }; - materialModel.findOne.mockResolvedValue(mockMaterial); + getObject.mockResolvedValue(mockMaterial); await getMaterialRouteHandler(req, res); - expect(materialModel.findOne).toHaveBeenCalled(); + expect(getObject).toHaveBeenCalledWith(expect.objectContaining({ model: materialModel, id: '507f1f77bcf86cd799439011' })); expect(res.send).toHaveBeenCalledWith(mockMaterial); }); });