From 4bc2a251cf73c4917c5857e9f79f1b9780fd14b4 Mon Sep 17 00:00:00 2001 From: David Laganiere <40720561+davidlag0@users.noreply.github.com> Date: Sat, 29 Apr 2023 11:44:59 -0400 Subject: [PATCH] test(NetworkConfig): fully cover NetworkConfig.js --- .../unit/utils/NetworkConfig.test.js | 30 +++++++++++++++++++ frontend/src/utils/NetworkConfig.js | 4 +-- 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 frontend/__tests__/unit/utils/NetworkConfig.test.js diff --git a/frontend/__tests__/unit/utils/NetworkConfig.test.js b/frontend/__tests__/unit/utils/NetworkConfig.test.js new file mode 100644 index 0000000..5bf2dca --- /dev/null +++ b/frontend/__tests__/unit/utils/NetworkConfig.test.js @@ -0,0 +1,30 @@ +import * as NetworkConfig from "utils/NetworkConfig"; + +jest.spyOn(Math, "random").mockReturnValue(0.5); +jest.spyOn(Date, "now").mockImplementation(() => 1487076708000); + +describe("NetworkConfig", () => { + it("getRandomInt()", () => { + expect(NetworkConfig.getRandomInt(1, 10)).toBe(5); + expect(NetworkConfig.getRandomInt(2, 2)).toBe(2); + expect(NetworkConfig.getRandomInt("test", 10)).toBe(NaN); + expect(NetworkConfig.getRandomInt(1, "test")).toBe(NaN); + expect(NetworkConfig.getRandomInt("test", "test")).toBe(NaN); + }); + + it("generateNetworkConfig()", () => { + expect(NetworkConfig.generateNetworkConfig()).toStrictEqual({ + config: { + name: "new-net-08000", + private: true, + v6AssignMode: { "6plane": false, rfc4193: false, zt: false }, + v4AssignMode: { zt: true }, + routes: [{ flags: 0, metric: 0, target: "172.30.127.0/24", via: null }], + ipAssignmentPools: [ + { ipRangeEnd: "172.30.127.254", ipRangeStart: "172.30.127.1" }, + ], + enableBroadcast: true, + }, + }); + }); +}); diff --git a/frontend/src/utils/NetworkConfig.js b/frontend/src/utils/NetworkConfig.js index 7a34c05..ace86ae 100644 --- a/frontend/src/utils/NetworkConfig.js +++ b/frontend/src/utils/NetworkConfig.js @@ -1,6 +1,6 @@ export function generateNetworkConfig() { const randSubnetPart = getRandomInt(0, 254).toString(); - const randNamePart = new Date().getTime(); + const randNamePart = new Date(Date.now()).getTime(); return { config: { name: "new-net-" + randNamePart.toString().substring(8), @@ -26,7 +26,7 @@ export function generateNetworkConfig() { }; } -function getRandomInt(min, max) { +export function getRandomInt(min, max) { min = Math.ceil(min); max = Math.floor(max); return Math.floor(Math.random() * (max - min)) + min;