Skip to content

Commit

Permalink
Add test
Browse files Browse the repository at this point in the history
  • Loading branch information
sebastijankuzner committed Dec 2, 2024
1 parent 25fac62 commit 42c3d63
Showing 1 changed file with 57 additions and 0 deletions.
57 changes: 57 additions & 0 deletions packages/api-evm/source/actions/web3-sha3.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import { Identifiers } from "@mainsail/contracts";
import { Validator } from "@mainsail/validation";

import { describe, Sandbox } from "../../../test-framework/source";
import { Web3Sha3 } from "./index.js";

describe<{
sandbox: Sandbox;
action: Web3Sha3;
validator: Validator;
}>("Web3Sha3", ({ beforeEach, it, assert }) => {
const version = "0.0.1";

beforeEach(async (context) => {
context.sandbox = new Sandbox();

context.sandbox.app.bind(Identifiers.Application.Version).toConstantValue(version);

context.action = context.sandbox.app.resolve(Web3Sha3);
context.validator = context.sandbox.app.resolve(Validator);
});

it("should have a name", ({ action }) => {
assert.equal(action.name, "web3_sha3");
});

it("schema should be ok", ({ action, validator }) => {
validator.addSchema({
$id: "prefixedHex",
pattern: "^0x[0-9a-f]+$",
type: "string",
});

assert.equal(action.schema, {
$id: `jsonRpc_web3_sha3`,
maxItems: 1,
minItems: 1,

prefixItems: [{ $ref: "prefixedHex" }],
type: "array",
});

validator.addSchema(action.schema);

assert.undefined(validator.validate("jsonRpc_web3_sha3", ["0x0"]).errors);
assert.defined(validator.validate("jsonRpc_web3_sha3", ["0x0", ""]).errors);
assert.defined(validator.validate("jsonRpc_web3_sha3", [1]).errors);
assert.defined(validator.validate("jsonRpc_web3_sha3", {}).errors);
});

it("should return the keccak256 of provided data", async ({ action }) => {
assert.equal(
await action.handle(["0x68656c6c6f20776f726c64"]),
"0x47173285a8d7341e5e972fc677286384f802f8ef42a5ec5f03bbfa254cb01fad",
);
});
});

0 comments on commit 42c3d63

Please sign in to comment.