import * as anchor from "@coral-xyz/anchor"; import { Carnival } from "../target/types/carnival"; describe("Carnival", () => { const provider = anchor.AnchorProvider.env(); anchor.setProvider(provider); const wallet = provider.wallet as anchor.Wallet; const program = anchor.workspace.Carnival as anchor.Program; async function sendCarnivalInstructions( instructionsList: anchor.web3.TransactionInstruction[] ) { let tx = new anchor.web3.Transaction(); for (var ix of instructionsList) { tx.add(ix); } await anchor.web3.sendAndConfirmTransaction(provider.connection, tx, [ wallet.payer, ]); } it("Go on some rides!", async () => { await sendCarnivalInstructions([ await program.methods .goOnRide("Jimmy", 36, 15, "Scrambler") .instruction(), await program.methods .goOnRide("Mary", 52, 1, "Ferris Wheel") .instruction(), await program.methods .goOnRide("Alice", 56, 15, "Scrambler") .instruction(), await program.methods .goOnRide("Bob", 49, 6, "Tilt-a-Whirl") .instruction(), ]); }); it("Play some games!", async () => { await sendCarnivalInstructions([ await program.methods.playGame("Jimmy", 15, "I Got It!").instruction(), await program.methods.playGame("Mary", 1, "Ring Toss").instruction(), await program.methods.playGame("Alice", 15, "Ladder Climb").instruction(), await program.methods.playGame("Bob", 6, "Ring Toss").instruction(), ]); }); it("Eat some food!", async () => { await sendCarnivalInstructions([ await program.methods.eatFood("Jimmy", 15, "Taco Shack").instruction(), await program.methods.eatFood("Mary", 1, "Larry's Pizza").instruction(), await program.methods.eatFood("Alice", 15, "Dough Boy's").instruction(), await program.methods.eatFood("Bob", 6, "Dough Boy's").instruction(), ]); }); });