Skip to content

Commit 01a41cd

Browse files
committed
fixed mongo.test but tests are failing. accepted jest config.
1 parent b941ab4 commit 01a41cd

File tree

8 files changed

+45
-39
lines changed

8 files changed

+45
-39
lines changed

__backend-tests__/chronosDatabase.test.js

Whitespace-only changes.

__backend-tests__/jest.config.js

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
11
module.exports = {
2-
testEnvironment: 'node', // Use the Node.js environment for testing
3-
<<<<<<< HEAD
4-
roots: ['<rootDir>/controllers'], // Set the root directory for test files
2+
// testEnvironment: 'node', // Use the Node.js environment for testing
3+
// roots: ['<rootDir>/controllers'], // Set the root directory for test files
54

6-
testRegex: '(/tests/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$',
5+
// testRegex: '(/tests/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$',
76

8-
// Code coverage settings
9-
collectCoverage: true,
10-
coverageDirectory: 'coverage',
7+
// // Code coverage settings
8+
// collectCoverage: true,
9+
// coverageDirectory: 'coverage',
1110

12-
// Specify the test path patterns to ignore frontend tests
13-
testPathIgnorePatterns: ['/node_modules/', '/__tests__/'],
14-
};
11+
// // Specify the test path patterns to ignore frontend tests
12+
// testPathIgnorePatterns: ['/node_modules/', '/__tests__/'],
13+
// };
1514

16-
=======
15+
// =======
1716
roots: ['<rootDir>'], // Set the root directory for test files (adjust this path to your test folder)
1817

1918
testRegex: '(/tests/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$',
@@ -25,4 +24,4 @@ module.exports = {
2524
// Specify the test path patterns to ignore (frontend tests)
2625
testPathIgnorePatterns: ['/node_modules/', '/__tests__/'],
2726
};
28-
>>>>>>> dev
27+

__backend-tests__/controllers/mongo.test.js renamed to __backend-tests__/mongo.test.js

Lines changed: 34 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
const mongoose = require('mongoose');
2-
const mongo = require('../../chronos_npm_package/controllers/mongo');
3-
const ServicesModel = require('../../chronos_npm_package/models/ServicesModel');
4-
const CommunicationModel = require('../../chronos_npm_package/models/CommunicationModel');
5-
const { connectDB, dropDB, dropCollections } = require('./testdbsetup');
6-
const alert = require('../../chronos_npm_package/controllers/alert');
7-
const ContainerInfo = require('../../chronos_npm_package/models/ContainerInfo');
2+
const mongo = require('../chronos_npm_package/controllers/mongo');
3+
const ServicesModel = require('../chronos_npm_package/models/ServicesModel');
4+
const CommunicationModel = require('../chronos_npm_package/models/CommunicationModel');
5+
const { connectDB, dropDB, dropCollections } = require('./mockdbsetup');
6+
const alert = require('../chronos_npm_package/controllers/alert');
7+
const ContainerInfoFunc = require('../chronos_npm_package/models/ContainerInfo');
8+
const dockerHelper = require('../chronos_npm_package/controllers/dockerHelper');
89

910
require('dotenv').config();
1011

@@ -20,13 +21,13 @@ afterAll(async () => {
2021

2122
jest.spyOn(console, 'log').mockImplementation(() => {});
2223

23-
jest.mock('../../chronos_npm_package/controllers/alert');
24+
jest.mock('../chronos_npm_package/controllers/alert');
2425

2526
jest.useFakeTimers();
2627

2728
jest.spyOn(global, 'setInterval');
2829

29-
jest.mock('../../chronos_npm_package/controllers/healthHelpers', () => {
30+
jest.mock('../chronos_npm_package/controllers/healthHelpers', () => {
3031
return [
3132
{
3233
time: Date.now(),
@@ -43,8 +44,8 @@ jest.mock('../../chronos_npm_package/controllers/healthHelpers', () => {
4344
];
4445
});
4546

46-
jest.mock('../../chronos_npm_package/controllers/mongo', () => ({
47-
...jest.requireActual('../../chronos_npm_package/controllers/mongo'),
47+
jest.mock('../chronos_npm_package/controllers/mongo', () => ({
48+
...jest.requireActual('../chronos_npm_package/controllers/mongo'),
4849
addMetrics: jest.fn(),
4950
getSavedMetricsLength: jest.fn(),
5051
}));
@@ -53,15 +54,25 @@ const HealthModel = {
5354
insertMany: jest.fn(() => Promise.resolve()),
5455
};
5556

57+
jest.mock('../chronos_npm_package/controllers/dockerHelper', () => ({
58+
...jest.requireActual('../chronos_npm_package/controllers/dockerHelper'),
59+
getDockerContainer: jest.fn(),
60+
readDockerContainer: jest.fn(),
61+
}));
62+
63+
// jest.mock('../../chronos_npm_package/models/ContainerInfo', () => {
64+
// const mockContainerInfoInstance = {
65+
// create: jest.fn(),
66+
// };
67+
// return jest.fn(() => mockContainerInfoInstance);
68+
// });
69+
5670
const HealthModelFunc = jest.fn(() => HealthModel);
5771

5872
describe('mongo.connect', () => {
5973
beforeEach(() => {
6074
jest.clearAllMocks();
6175
});
62-
beforeEach(() => {
63-
jest.clearAllMocks();
64-
});
6576

6677
test('should connect to MongoDB database', async () => {
6778
await mongo.connect({ database: { URI: db } });
@@ -87,9 +98,6 @@ describe('mongo.services', () => {
8798
beforeEach(() => {
8899
jest.clearAllMocks();
89100
});
90-
beforeEach(() => {
91-
jest.clearAllMocks();
92-
});
93101

94102
afterEach(async () => {
95103
await dropCollections();
@@ -103,6 +111,10 @@ describe('mongo.services', () => {
103111
});
104112

105113
describe('mongo.communications', () => {
114+
beforeEach(() => {
115+
jest.clearAllMocks();
116+
});
117+
106118
afterEach(async () => {
107119
await dropCollections();
108120
});
@@ -202,7 +214,7 @@ describe('mongo.docker', () => {
202214
});
203215

204216
test('should collect docker container information', async () => {
205-
const microservice = 'mongo.docker test';
217+
const microservice = 'mongo.docker test';
206218
const mockContainerData = {
207219
containername: microservice,
208220
containerId: '234',
@@ -222,18 +234,13 @@ describe('mongo.docker', () => {
222234
time: Date.now(),
223235
};
224236

225-
jest.mock('../../chronos_npm_package/controllers/dockerHelper', () => ({
226-
getDockerContainer: jest.fn(() => Promise.resolve(mockContainerData)),
227-
readDockerContainer: jest.fn(() => Promise.resolve(mockReadDockerContainerData)),
228-
}));
237+
dockerHelper.getDockerContainer.mockResolvedValue(mockContainerData);
238+
dockerHelper.readDockerContainer.mockResolvedValue(mockReadDockerContainerData);
229239

230240
await mongo.docker({ microservice: microservice, interval: 1000, mode: 'testMode' });
231-
expect(getDockerContainer).toHaveBeenCalledWith(microservice);
241+
expect(dockerHelper.getDockerContainer).toHaveBeenCalledWith(microservice);
232242
jest.advanceTimersByTime(1000);
233-
expect(readDockerContainer).toHaveBeenCalledWith(mockContainerData);
234-
const savedContainerInfo = await ContainerInfo.findOne({ containername: microservice });
235-
expect(savedContainerInfo).toBeDefined();
236-
expect(savedContainerInfo).toMatchObject(mockReadDockerContainerData);
243+
expect(dockerHelper.readDockerContainer).toHaveBeenCalledWith(mockContainerData);
244+
//expect(mockContainerInfoInstance.create).toHaveBeenCalledWith(mockReadDockerContainerData);
237245
});
238246
});
239-

0 commit comments

Comments
 (0)