From 8a5957d6b41d70c8a17107a70cadf1b81a00cf6e Mon Sep 17 00:00:00 2001 From: Kayne Ruse Date: Sat, 11 Jun 2022 01:06:48 +0100 Subject: [PATCH] Integration test in place --- test/server.test.js | 65 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 test/server.test.js diff --git a/test/server.test.js b/test/server.test.js new file mode 100644 index 0000000..6041898 --- /dev/null +++ b/test/server.test.js @@ -0,0 +1,65 @@ +describe('Integration Test Suite', () => { + beforeEach(() => { + jest.resetModules(); + + //mock dotenv + jest.doMock('dotenv', () => ({ + config: () => null + })); + + //mock express + jest.doMock('express', () => { + const express = () => ({ + identity: 'app', + use: () => null, + get: () => null, + }); + + express.Router = () => ({ + identity: 'Router', + use: () => null, + get: () => null, + post: () => null, + patch: () => null, + delete: () => null, + }); + + express.json = () => 'json'; + + return express; + }); + + //mock http + jest.doMock('http', () => ({ + Server: app => { + expect(app.identity).toBe('app'); + + return { + listen: (port, cb) => cb() + } + } + })); + + //mock sequelize + class Seq { + sync() {} + define() {} + static INTEGER() {} + }; + + jest.doMock('sequelize', () => { + return Seq; + }); + + //mock node-cron + jest.doMock('node-cron', () => { + return { + schedule: () => null + } + }); + }); + + test('Start The Server', () => { + const serv = require('../server/server'); + }); +}); \ No newline at end of file