Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added edge case testing #39

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 54 additions & 24 deletions tests/testAction.ts
Original file line number Diff line number Diff line change
@@ -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;
});
});
});

});