@coinbase/agentkit
Version:
Coinbase AgentKit core primitives
56 lines (55 loc) • 3.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const svmWalletProvider_1 = require("./svmWalletProvider");
global.fetch = jest.fn(() => Promise.resolve({
ok: true,
json: () => Promise.resolve({}),
}));
jest.mock("../analytics", () => ({
sendAnalyticsEvent: jest.fn().mockImplementation(() => Promise.resolve()),
}));
describe("SvmWalletProvider", () => {
beforeEach(() => {
jest.clearAllMocks();
if (!svmWalletProvider_1.SvmWalletProvider.prototype.getConnection) {
svmWalletProvider_1.SvmWalletProvider.prototype.getConnection = jest.fn();
}
if (!svmWalletProvider_1.SvmWalletProvider.prototype.getPublicKey) {
svmWalletProvider_1.SvmWalletProvider.prototype.getPublicKey = jest.fn();
}
if (!svmWalletProvider_1.SvmWalletProvider.prototype.signTransaction) {
svmWalletProvider_1.SvmWalletProvider.prototype.signTransaction = jest.fn();
}
if (!svmWalletProvider_1.SvmWalletProvider.prototype.sendTransaction) {
svmWalletProvider_1.SvmWalletProvider.prototype.sendTransaction = jest.fn();
}
if (!svmWalletProvider_1.SvmWalletProvider.prototype.signAndSendTransaction) {
svmWalletProvider_1.SvmWalletProvider.prototype.signAndSendTransaction = jest.fn();
}
if (!svmWalletProvider_1.SvmWalletProvider.prototype.getSignatureStatus) {
svmWalletProvider_1.SvmWalletProvider.prototype.getSignatureStatus = jest.fn();
}
if (!svmWalletProvider_1.SvmWalletProvider.prototype.waitForSignatureResult) {
svmWalletProvider_1.SvmWalletProvider.prototype.waitForSignatureResult = jest.fn();
}
});
it("should extend WalletProvider", () => {
const proto = Object.getPrototypeOf(svmWalletProvider_1.SvmWalletProvider);
const protoName = proto.name;
expect(protoName).toBe("WalletProvider");
});
it("should have consistent method signatures", () => {
const signTransactionDescriptor = Object.getOwnPropertyDescriptor(svmWalletProvider_1.SvmWalletProvider.prototype, "signTransaction");
expect(signTransactionDescriptor).toBeDefined();
expect(typeof signTransactionDescriptor.value).toBe("function");
const sendTransactionDescriptor = Object.getOwnPropertyDescriptor(svmWalletProvider_1.SvmWalletProvider.prototype, "sendTransaction");
expect(sendTransactionDescriptor).toBeDefined();
expect(typeof sendTransactionDescriptor.value).toBe("function");
const getPublicKeyDescriptor = Object.getOwnPropertyDescriptor(svmWalletProvider_1.SvmWalletProvider.prototype, "getPublicKey");
expect(getPublicKeyDescriptor).toBeDefined();
expect(typeof getPublicKeyDescriptor.value).toBe("function");
const getConnectionDescriptor = Object.getOwnPropertyDescriptor(svmWalletProvider_1.SvmWalletProvider.prototype, "getConnection");
expect(getConnectionDescriptor).toBeDefined();
expect(typeof getConnectionDescriptor.value).toBe("function");
});
});