import { describe, it, expect } from "vitest"; import { convertArgsToObject } from "../../src/cli/arguments"; const testCases = [ { input: ["-h", "--help", "-m", "--mnemonic-file", "mnemonic.txt"], expected: { args: [], options: { help: "true", mnemonicFile: "mnemonic.txt" }, }, }, { input: ["-var-requested-satohis", "1000", "-role", "receiver"], expected: { args: [], options: { varRequestedSatohis: "1000", role: "receiver" }, }, }, { input: [ "-o", "output.json", "-var-requested-satohis", "1000", "-role", "receiver", ], expected: { args: [], options: { output: "output.json", varRequestedSatohis: "1000", role: "receiver", }, }, }, { input: ["mnemonic", "create", "page", "pencil", "-v", "-o", "mnemonic.txt"], expected: { args: ["mnemonic", "create", "page", "pencil"], options: { verbose: "true", output: "mnemonic.txt" }, }, }, { input: ["-v", "invitation", "list", "-m", "mnemonicFile"], expected: { args: ["invitation", "list"], options: { verbose: "true", mnemonicFile: "mnemonicFile" }, }, }, { input: ["--help", "template", "import", "template.json"], expected: { args: ["template", "import", "template.json"], options: { help: "true" }, }, }, ]; describe("convertArgsToObject", () => { it.each(testCases)( "should split positional args from options", ({ input, expected }) => { const result = convertArgsToObject(input); expect(result).toEqual(expected); }, ); });