Skip to content

Commit

Permalink
updated tests for logs format update
Browse files Browse the repository at this point in the history
  • Loading branch information
devinpearson committed Nov 17, 2023
1 parent 2f4d581 commit 47745c9
Show file tree
Hide file tree
Showing 3 changed files with 105 additions and 101 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "programmable-card-code-emulator",
"version": "1.0.1",
"version": "1.0.2",
"main": "src/index.js",
"scripts": {
"test": "jest",
Expand Down
6 changes: 5 additions & 1 deletion src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,11 @@ exports.createTransaction = function (
exports.createExecutionItem = function (transactionType, date, logs) {
let tempLogs = [];
for (let i = 0; i < logs.length; i++) {
let log = { createdAt: date, level: "info", content: JSON.stringify(logs[i][0]) };
let log = {
createdAt: date,
level: "info",
content: JSON.stringify(logs[i][0]),
};
tempLogs.push(log);
}
return {
Expand Down
198 changes: 99 additions & 99 deletions tests/index.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ test("create execution item", () => {
expect(executionItem.authorizationApproved).toBe(null);
expect(executionItem.logs[0].createdAt).toBe(dateTime);
expect(executionItem.logs[0].level).toBe("info");
expect(executionItem.logs[0].content).toBe("sample log");
expect(executionItem.logs[0].content).toBe(JSON.stringify("sample log"));
});

test("run vm", async () => {
Expand Down Expand Up @@ -85,7 +85,7 @@ test("run vm", async () => {
expect(results[0].createdAt).toBe(dateTime);
expect(results[0].emailCount).toBe(0);
expect(validator.isUUID(results[0].executionId, 4)).toBe(true);
expect(results[0].logs[0].content).toBe(transaction);
expect(results[0].logs[0].content).toBe(JSON.stringify(transaction));
expect(results[0].logs[0].createdAt).toBe(dateTime);
expect(results[0].logs[0].level).toBe("info");
expect(results[0].pushNotificationCount).toBe(0);
Expand All @@ -98,17 +98,17 @@ test("run vm", async () => {
});

test("run vm with comment at end", async () => {
let dateTime = new Date();
dateTime = dateTime.toISOString();
const transaction = emu.createTransaction(
"ZAR",
1000,
"0000",
"Test Merchant",
"Test City",
"ZAF",
);
const code = `const beforeTransaction = async (authorization) => {
let dateTime = new Date();
dateTime = dateTime.toISOString();
const transaction = emu.createTransaction(
"ZAR",
1000,
"0000",
"Test Merchant",
"Test City",
"ZAF",
);
const code = `const beforeTransaction = async (authorization) => {
console.log(authorization);
return true;
};
Expand All @@ -126,40 +126,40 @@ test("run vm with comment at end", async () => {
};
// testing as this use to crash
`;
const results = await emu.run(
transaction,
code,
JSON.stringify({ test: "value" }),
);
expect(results[0].authorizationApproved).toBeNull();
expect(results[0].completedAt).toBe(dateTime);
expect(results[0].createdAt).toBe(dateTime);
expect(results[0].emailCount).toBe(0);
expect(validator.isUUID(results[0].executionId, 4)).toBe(true);
expect(results[0].logs[0].content).toBe(transaction);
expect(results[0].logs[0].createdAt).toBe(dateTime);
expect(results[0].logs[0].level).toBe("info");
expect(results[0].pushNotificationCount).toBe(0);
expect(validator.isUUID(results[0].rootCodeFunctionId, 4)).toBe(true);
expect(results[0].sandbox).toBe(true);
expect(results[0].smsCount).toBe(0);
expect(results[0].startedAt).toBe(dateTime);
expect(results[0].type).toBe("before_transaction");
expect(results[0].updatedAt).toBe(dateTime);
});
const results = await emu.run(
transaction,
code,
JSON.stringify({ test: "value" }),
);
expect(results[0].authorizationApproved).toBeNull();
expect(results[0].completedAt).toBe(dateTime);
expect(results[0].createdAt).toBe(dateTime);
expect(results[0].emailCount).toBe(0);
expect(validator.isUUID(results[0].executionId, 4)).toBe(true);
expect(results[0].logs[0].content).toBe(JSON.stringify(transaction));
expect(results[0].logs[0].createdAt).toBe(dateTime);
expect(results[0].logs[0].level).toBe("info");
expect(results[0].pushNotificationCount).toBe(0);
expect(validator.isUUID(results[0].rootCodeFunctionId, 4)).toBe(true);
expect(results[0].sandbox).toBe(true);
expect(results[0].smsCount).toBe(0);
expect(results[0].startedAt).toBe(dateTime);
expect(results[0].type).toBe("before_transaction");
expect(results[0].updatedAt).toBe(dateTime);
});

test("run vm with no return in begin", async () => {
let dateTime = new Date();
dateTime = dateTime.toISOString();
const transaction = emu.createTransaction(
"ZAR",
1000,
"0000",
"Test Merchant",
"Test City",
"ZAF",
);
const code = `const beforeTransaction = async (authorization) => {
test("run vm with no return in begin", async () => {
let dateTime = new Date();
dateTime = dateTime.toISOString();
const transaction = emu.createTransaction(
"ZAR",
1000,
"0000",
"Test Merchant",
"Test City",
"ZAF",
);
const code = `const beforeTransaction = async (authorization) => {
console.log(authorization);
};
Expand All @@ -176,40 +176,40 @@ test("run vm with comment at end", async () => {
};
// testing as this use to crash
`;
const results = await emu.run(
transaction,
code,
JSON.stringify({ test: "value" }),
);
expect(results[0].authorizationApproved).toBeNull();
expect(results[0].completedAt).toBe(dateTime);
expect(results[0].createdAt).toBe(dateTime);
expect(results[0].emailCount).toBe(0);
expect(validator.isUUID(results[0].executionId, 4)).toBe(true);
expect(results[0].logs[0].content).toBe(transaction);
expect(results[0].logs[0].createdAt).toBe(dateTime);
expect(results[0].logs[0].level).toBe("info");
expect(results[0].pushNotificationCount).toBe(0);
expect(validator.isUUID(results[0].rootCodeFunctionId, 4)).toBe(true);
expect(results[0].sandbox).toBe(true);
expect(results[0].smsCount).toBe(0);
expect(results[0].startedAt).toBe(dateTime);
expect(results[0].type).toBe("before_transaction");
expect(results[0].updatedAt).toBe(dateTime);
});
const results = await emu.run(
transaction,
code,
JSON.stringify({ test: "value" }),
);
expect(results[0].authorizationApproved).toBeNull();
expect(results[0].completedAt).toBe(dateTime);
expect(results[0].createdAt).toBe(dateTime);
expect(results[0].emailCount).toBe(0);
expect(validator.isUUID(results[0].executionId, 4)).toBe(true);
expect(results[0].logs[0].content).toBe(JSON.stringify(transaction));
expect(results[0].logs[0].createdAt).toBe(dateTime);
expect(results[0].logs[0].level).toBe("info");
expect(results[0].pushNotificationCount).toBe(0);
expect(validator.isUUID(results[0].rootCodeFunctionId, 4)).toBe(true);
expect(results[0].sandbox).toBe(true);
expect(results[0].smsCount).toBe(0);
expect(results[0].startedAt).toBe(dateTime);
expect(results[0].type).toBe("before_transaction");
expect(results[0].updatedAt).toBe(dateTime);
});

test("run vm with false return on begin", async () => {
let dateTime = new Date();
dateTime = dateTime.toISOString();
const transaction = emu.createTransaction(
"ZAR",
1000,
"0000",
"Test Merchant",
"Test City",
"ZAF",
);
const code = `const beforeTransaction = async (authorization) => {
let dateTime = new Date();
dateTime = dateTime.toISOString();
const transaction = emu.createTransaction(
"ZAR",
1000,
"0000",
"Test Merchant",
"Test City",
"ZAF",
);
const code = `const beforeTransaction = async (authorization) => {
console.log(authorization);
return false;
Expand All @@ -228,24 +228,24 @@ test("run vm with false return on begin", async () => {
};
// testing as this use to crash
`;
const results = await emu.run(
transaction,
code,
JSON.stringify({ test: "value" }),
);
expect(results[0].authorizationApproved).toBeNull();
expect(results[0].completedAt).toBe(dateTime);
expect(results[0].createdAt).toBe(dateTime);
expect(results[0].emailCount).toBe(0);
expect(validator.isUUID(results[0].executionId, 4)).toBe(true);
expect(results[0].logs[0].content).toBe(transaction);
expect(results[0].logs[0].createdAt).toBe(dateTime);
expect(results[0].logs[0].level).toBe("info");
expect(results[0].pushNotificationCount).toBe(0);
expect(validator.isUUID(results[0].rootCodeFunctionId, 4)).toBe(true);
expect(results[0].sandbox).toBe(true);
expect(results[0].smsCount).toBe(0);
expect(results[0].startedAt).toBe(dateTime);
expect(results[0].type).toBe("before_transaction");
expect(results[0].updatedAt).toBe(dateTime);
});
const results = await emu.run(
transaction,
code,
JSON.stringify({ test: "value" }),
);
expect(results[0].authorizationApproved).toBeNull();
expect(results[0].completedAt).toBe(dateTime);
expect(results[0].createdAt).toBe(dateTime);
expect(results[0].emailCount).toBe(0);
expect(validator.isUUID(results[0].executionId, 4)).toBe(true);
expect(results[0].logs[0].content).toBe(JSON.stringify(transaction));
expect(results[0].logs[0].createdAt).toBe(dateTime);
expect(results[0].logs[0].level).toBe("info");
expect(results[0].pushNotificationCount).toBe(0);
expect(validator.isUUID(results[0].rootCodeFunctionId, 4)).toBe(true);
expect(results[0].sandbox).toBe(true);
expect(results[0].smsCount).toBe(0);
expect(results[0].startedAt).toBe(dateTime);
expect(results[0].type).toBe("before_transaction");
expect(results[0].updatedAt).toBe(dateTime);
});

0 comments on commit 47745c9

Please sign in to comment.