Skip to content

Commit

Permalink
fix previous tests
Browse files Browse the repository at this point in the history
  • Loading branch information
mariscalromeroalejandro committed Feb 7, 2025
1 parent dfe1ff1 commit c28cc33
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 46 deletions.
26 changes: 15 additions & 11 deletions QualityControl/test/lib/controllers/StatusController.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,25 +23,24 @@ export const statusControllerTestSuite = async () => {
test('should successfully respond with framework information', async () => {
const statusService = {
retrieveFrameworkInfo: stub().resolves({
qcg: {
status: { ok: true },
version: '0.0.1',
},
ccdb: {
status: { ok: false, message: 'Something went wrong here' },
},
status: { ok: true },
version: '0.0.1',
}),
};
const statusController = new StatusController(statusService);
const req = {
params: {
component: 'qcg',
},
};
const res = {
status: stub().returnsThis(),
json: stub(),
};
await statusController.getFrameworkInfo({}, res);
await statusController.getFrameworkInfo(req, res);

const result = {
qcg: { status: { ok: true }, version: '0.0.1' },
ccdb: { status: { ok: false, message: 'Something went wrong here' } },
status: { ok: true }, version: '0.0.1',
};
ok(res.status.calledWith(200));
ok(res.json.calledWith(result));
Expand All @@ -51,11 +50,16 @@ export const statusControllerTestSuite = async () => {
retrieveFrameworkInfo: stub().throws(new Error('Service could not retrieve status')),
};
const statusController = new StatusController(statusService);
const req = {
params: {
component: 'qc',
},
};
const res = {
status: stub().returnsThis(),
json: stub(),
};
await statusController.getFrameworkInfo({}, res);
await statusController.getFrameworkInfo(req, res);

ok(res.status.calledWith(503));
ok(res.json.calledWith({
Expand Down
48 changes: 13 additions & 35 deletions QualityControl/test/lib/services/StatusService.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
*/

/* eslint-disable require-jsdoc */
/* eslint-disable max-len */

import { stub } from 'sinon';
import { deepStrictEqual } from 'node:assert';
Expand Down Expand Up @@ -43,45 +42,24 @@ export const statusServiceTestSuite = async () => {
});
});

suite('`retrieveOnlineServiceStatus()` tests', () => {
let statusService;
before(() => {
statusService = new StatusService();
});
test('should successfully return status if no online service was configured with customized version', async () => {
const response = await statusService.retrieveOnlineServiceStatus();
deepStrictEqual(response, { status: { ok: true }, version: 'Live Mode was not configured' });
});
test('should return status in error if online service threw an error', async () => {
statusService.onlineService = {
getConsulLeaderStatus: stub().rejects(new Error('Unable to retrieve status of live mode')),
};
const response = await statusService.retrieveOnlineServiceStatus();
deepStrictEqual(response, { status: { ok: false, message: 'Unable to retrieve status of live mode' } });
});
test('should successfully return status ok if online service passed checks', async () => {
statusService.onlineService = {
getConsulLeaderStatus: stub().resolves(),
};
const response = await statusService.retrieveOnlineServiceStatus();
deepStrictEqual(response, { status: { ok: true } });
});
});

suite('`retrieveFrameworkInfo()` tests', () => {
test('should successfully build an object with framework information from all used sources', async () => {
const statusService = new StatusService();
statusService.dataService = { getVersion: stub().resolves({ version: '0.0.1-beta' }) };
statusService.onlineService = { getConsulLeaderStatus: stub().rejects(new Error('Online mode failed to retrieve')) };

const response = await statusService.retrieveFrameworkInfo();
const result = {
qcg: { version: '-', status: { ok: true }, clients: -1 },
qc: { status: { ok: true }, version: 'Not part of an FLP deployment' },
data_service_ccdb: { status: { ok: true }, version: '0.0.1-beta' },
online_service_consul: { status: { ok: false, message: 'Online mode failed to retrieve' } },
};
deepStrictEqual(response, result);
const frameworkInfo = await Promise.all([
statusService.retrieveFrameworkInfo('qcg'),
statusService.retrieveFrameworkInfo('qc'),
statusService.retrieveFrameworkInfo('ccdb'),
]);

const expectedResults = [
{ version: '-', status: { ok: true }, clients: -1 },
{ status: { ok: true }, version: 'Not part of an FLP deployment' },
{ status: { ok: true }, version: '0.0.1-beta' },
];

deepStrictEqual(frameworkInfo, expectedResults);
});

suite('`retrieveQcVersion()` tests', () => {
Expand Down
1 change: 1 addition & 0 deletions QualityControl/test/public/initialPageSetup.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ export const initialPageSetupTests = async (url, page, timeout = 1000, testParen
REFRESH_MIN_INTERVAL: 10,
REFRESH_MAX_INTERVAL: 120,
CONSUL_SERVICE: false,
ABOUT_COMPONENTS: ['qcg', 'qc', 'ccdb'],
};
assert.deepStrictEqual(
qcg,
Expand Down

0 comments on commit c28cc33

Please sign in to comment.