From f1522fbd0256a595dd7d225aadb2055589bcc3d6 Mon Sep 17 00:00:00 2001 From: kv272 Date: Mon, 29 Jul 2024 19:45:53 +0530 Subject: [PATCH] added edge case testing --- tests/testAction.ts | 78 +++++++++++++++++++++++++++++++-------------- 1 file changed, 54 insertions(+), 24 deletions(-) diff --git a/tests/testAction.ts b/tests/testAction.ts index 39b9aaf..e8b7741 100644 --- a/tests/testAction.ts +++ b/tests/testAction.ts @@ -1,34 +1,64 @@ -/* manual test: yarn run test --timeout 10000 tests/testAction.ts - */ - import { expect } from "chai"; import * as action from "../src/action"; -describe("Action Tests", function() { - it("Check action by providing a valid action", async function () { - const validAction = "action-initial-registration"; - expect(action.getValidActionOrDefault(validAction)).to.be.equal(validAction); - }); +describe("Action Module Tests", function() { + + describe("getValidActionOrDefault Tests", function() { + it("should return the action if it is valid", async function () { + const validAction = "action-initial-registration"; + expect(action.getValidActionOrDefault(validAction)).to.equal(validAction); + }); - it("Check action by providing an invalid action", async function () { - const validAction = "action-invalid"; - expect(action.getValidActionOrDefault(validAction)).to.be.equal("action-commit"); - }); + it("should return default action if the action is invalid", async function () { + const invalidAction = "action-invalid"; + expect(action.getValidActionOrDefault(invalidAction)).to.equal("action-commit"); + }); + + it("should return default action if the action is an empty string", async function () { + const emptyAction = ""; + expect(action.getValidActionOrDefault(emptyAction)).to.equal("action-commit"); + }); - it("Check action by providing a valid Action Nid", async function () { - const validActionNid = "bafkreicptxn6f752c4pvb6gqwro7s7wb336idkzr6wmolkifj3aafhvwii"; - const expectedActionName = "action-initial-registration-jade"; - expect(action.getNameByNid(validActionNid)).to.be.equal(expectedActionName); + it("should return default action if the action is null", async function () { + const nullAction = null; + expect(action.getValidActionOrDefault(nullAction)).to.equal("action-commit"); + }); }); - it("Check action by providing an invalid action", async function () { - const invalidActionNid = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; - const expectedActionName = "action-commit"; - expect(action.getNameByNid(invalidActionNid)).to.be.equal(expectedActionName); + describe("getNameByNid Tests", function() { + it("should return the correct action name for a valid NID", async function () { + const validActionNid = "bafkreicptxn6f752c4pvb6gqwro7s7wb336idkzr6wmolkifj3aafhvwii"; + const expectedActionName = "action-initial-registration-jade"; + expect(action.getNameByNid(validActionNid)).to.equal(expectedActionName); + }); + + it("should return default action name for an invalid NID", async function () { + const invalidActionNid = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; + const expectedActionName = "action-commit"; + expect(action.getNameByNid(invalidActionNid)).to.equal(expectedActionName); + }); + + it("should return default action name for an empty NID", async function () { + const emptyActionNid = ""; + const expectedActionName = "action-commit"; + expect(action.getNameByNid(emptyActionNid)).to.equal(expectedActionName); + }); + + it("should return default action name for a null NID", async function () { + const nullActionNid = null; + const expectedActionName = "action-commit"; + expect(action.getNameByNid(nullActionNid)).to.equal(expectedActionName); + }); }); - it("Debugging messages", async function () { - console.log(`action: ${JSON.stringify(action.Actions, null, 2)}`); - console.log(`action names: ${JSON.stringify(action.generateNameDictionary(action.ActionSet), null, 2)}`); + describe("Debugging and Output Tests", function() { + it("should log action details", async function () { + // Instead of console.log, you can use a library like sinon to spy on console.log calls + // Example: + // const spy = sinon.spy(console, 'log'); + // action.someMethod(); + // expect(spy.calledWith(...)).to.be.true; + }); }); -}); \ No newline at end of file + +});