39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
const anchor = require("@coral-xyz/anchor");
|
|
const { assert } = require("chai");
|
|
|
|
describe("sysvars", () => {
|
|
// Configure the client to use the local cluster.
|
|
anchor.setProvider(anchor.AnchorProvider.local());
|
|
const program = anchor.workspace.Sysvars;
|
|
|
|
it("Is initialized!", async () => {
|
|
const tx = await program.methods
|
|
.sysvars()
|
|
.accounts({
|
|
clock: anchor.web3.SYSVAR_CLOCK_PUBKEY,
|
|
rent: anchor.web3.SYSVAR_RENT_PUBKEY,
|
|
stakeHistory: anchor.web3.SYSVAR_STAKE_HISTORY_PUBKEY,
|
|
})
|
|
.rpc();
|
|
console.log("Your transaction signature", tx);
|
|
});
|
|
|
|
it("Fails when the wrong pubkeys are provided", async () => {
|
|
try {
|
|
await program.methods
|
|
.sysvars()
|
|
.accounts({
|
|
clock: anchor.web3.SYSVAR_CLOCK_PUBKEY,
|
|
rent: anchor.web3.SYSVAR_RENT_PUBKEY,
|
|
stakeHistory: anchor.web3.SYSVAR_REWARDS_PUBKEY,
|
|
})
|
|
.rpc();
|
|
assert.ok(false);
|
|
} catch (err) {
|
|
const errMsg = "The given public key does not match the required sysvar";
|
|
assert.strictEqual(err.error.errorMessage, errMsg);
|
|
assert.strictEqual(err.error.errorCode.number, 3015);
|
|
}
|
|
});
|
|
});
|