From de8c27c0f528738a3377f3e6b4a0ee729d3ce4d8 Mon Sep 17 00:00:00 2001 From: Im-Beast Date: Mon, 14 Oct 2024 17:01:44 +0200 Subject: regression tests --- tests/regression.test.ts | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 tests/regression.test.ts (limited to 'tests/regression.test.ts') diff --git a/tests/regression.test.ts b/tests/regression.test.ts new file mode 100755 index 0000000..677f9b6 --- /dev/null +++ b/tests/regression.test.ts @@ -0,0 +1,34 @@ +import { $, createWalletViaCli, downloadMoneroCli, getMoneroC, getMoneroCTags } from "./utils.ts"; + +Deno.test("Regression tests", async (t) => { + await Deno.remove("./tests/wallets", { recursive: true }).catch(() => {}); + await Deno.mkdir("./tests/wallets", { recursive: true }); + + const tags = await getMoneroCTags(); + const latestTag = tags[0]; + await Promise.all([getMoneroC("next"), await getMoneroC(latestTag), downloadMoneroCli()]); + + await t.step("Simple (next, latest, next)", async () => { + const walletInfo = await createWalletViaCli("dog", "sobaka"); + + for (const version of ["next", latestTag, "next"]) { + await $`deno run -A ./tests/compare.ts ${version} ${JSON.stringify(walletInfo)}`; + } + }); + + await t.step("All releases sequentially (all tags in the release order, next)", async () => { + tags.unshift("next"); + + const walletInfo = await createWalletViaCli("cat", "koshka"); + + for (const version of tags.toReversed()) { + if (version !== "next" && version !== tags[0]) await getMoneroC(version); + await $`deno run -A ./tests/compare.ts ${version} ${JSON.stringify(walletInfo)}`; + } + + await Deno.remove("./tests/wallets", { recursive: true }).catch(() => {}); + }); + + await Deno.remove("./tests/wallets", { recursive: true }).catch(() => {}); + await Deno.remove("./tests/libs", { recursive: true }).catch(() => {}); +}); -- cgit v1.2.3