diff --git a/.gitignore b/.gitignore index 1138673..4dbca94 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ obj/ tests/node_modules tests/lib tests/yarn-error.log - +tests/elfs/* +tests/snapshots/tmp/* .vscode diff --git a/tests/build_local_test_elfs.sh b/tests/build_local_test_elfs.sh new file mode 100755 index 0000000..c7b4ca8 --- /dev/null +++ b/tests/build_local_test_elfs.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# FILL THESE WITH YOUR OWN SDKs PATHS +NANOS_SDK="" +NANOX_SDK="" + +# list of apps required by tests that we want to build here +appnames=("ethereum" "ethereum_classic") + +# create elfs folder if it doesn't exist +mkdir -p elfs + +# move to repo's root to build apps +cd .. + +echo "*Building elfs for Nano S..." +for app in "${appnames[@]}" +do + echo "**Building $app for Nano S..." + make clean BOLOS_SDK=$NANOS_SDK + make -j DEBUG=1 ALLOW_DATA=1 BOLOS_SDK=$NANOS_SDK CHAIN=$app + cp bin/app.elf "tests/elfs/${app}_nanos.elf" +done + +echo "*Building elfs for Nano X..." +for app in "${appnames[@]}" +do + echo "**Building $app for Nano X..." + make clean BOLOS_SDK=$NANOX_SDK + make -j DEBUG=1 ALLOW_DATA=1 BOLOS_SDK=$NANOX_SDK CHAIN=$app + cp bin/app.elf "tests/elfs/${app}_nanox.elf" +done + +echo "done" diff --git a/tests/globalsetup.js b/tests/globalsetup.js index 8ec2b86..e835233 100644 --- a/tests/globalsetup.js +++ b/tests/globalsetup.js @@ -1,4 +1,5 @@ import Zemu from "@zondax/zemu"; +import fsExtra from "fs-extra"; const catchExit = async () => { process.on("SIGINT", () => { @@ -12,4 +13,5 @@ module.exports = async () => { await catchExit(); await Zemu.checkAndPullImage(); await Zemu.stopAllEmuContainers(); + fsExtra.emptyDirSync("snapshots/tmp") }; \ No newline at end of file diff --git a/tests/jest.config.js b/tests/jest.config.js index fbceb38..c1ba411 100644 --- a/tests/jest.config.js +++ b/tests/jest.config.js @@ -30,4 +30,6 @@ module.exports = { "**/?(*.)+(spec|test).[tj]s?(x)", "**/?(*.)+(ispec|test).[tj]s?(x)", ], + + setupFilesAfterEnv: ['/setupTests.js'] }; diff --git a/tests/package.json b/tests/package.json index 2e335a6..618e570 100644 --- a/tests/package.json +++ b/tests/package.json @@ -20,6 +20,7 @@ "bip32-path": "^0.4.2", "core-js": "^3.7.0", "ethereum-tx-decoder": "^3.0.0", + "fs-extra": "^10.0.0", "google-protobuf": "^3.11.0", "jest-serial-runner": "^1.1.0", "js-sha256": "^0.9.0", diff --git a/tests/setupTests.js b/tests/setupTests.js new file mode 100644 index 0000000..a97166b --- /dev/null +++ b/tests/setupTests.js @@ -0,0 +1,21 @@ +import expect from 'expect' + +expect.extend({ + toMatchSnapshot(received, original) { + + if(received.data.equals(original.data)){ + return { + message: () => `snapshots are equal`, + pass: true + } + } + + // console.log(received.data.toString('hex')) + // console.log(original.data.toString('hex')) + + return { + message: () => `snapshots are not equal`, + pass: false + } + }, + }); \ No newline at end of file diff --git a/tests/snapshots/tmp/nanos/.gitignore b/tests/snapshots/tmp/nanos/.gitignore deleted file mode 100644 index aab52d9..0000000 --- a/tests/snapshots/tmp/nanos/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.png \ No newline at end of file diff --git a/tests/snapshots/tmp/nanox/.gitignore b/tests/snapshots/tmp/nanox/.gitignore deleted file mode 100644 index aab52d9..0000000 --- a/tests/snapshots/tmp/nanox/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.png \ No newline at end of file diff --git a/tests/src/approve.test.js b/tests/src/approve.test.js index 579d252..ec5e01e 100644 --- a/tests/src/approve.test.js +++ b/tests/src/approve.test.js @@ -6,22 +6,19 @@ import Zemu from "@zondax/zemu"; import { TransportStatusError } from "@ledgerhq/errors"; import { expect } from "../jest"; -const {NANOS_ELF_PATH, NANOX_ELF_PATH, sim_options_nanos, sim_options_nanox, TIMEOUT} = require("generic.js"); +const {NANOS_ELF_PATH, NANOX_ELF_PATH, sim_options_nanos, sim_options_nanox, TIMEOUT, getTmpPath} = require("generic.js"); const ORIGINAL_SNAPSHOT_PATH_PREFIX = "snapshots/approve/"; -const SNAPSHOT_PATH_PREFIX = "snapshots/tmp/"; const ORIGINAL_SNAPSHOT_PATH_NANOS = ORIGINAL_SNAPSHOT_PATH_PREFIX + "nanos/"; const ORIGINAL_SNAPSHOT_PATH_NANOX = ORIGINAL_SNAPSHOT_PATH_PREFIX + "nanox/"; -const SNAPSHOT_PATH_NANOS = SNAPSHOT_PATH_PREFIX + "nanos/"; -const SNAPSHOT_PATH_NANOX = SNAPSHOT_PATH_PREFIX + "nanox/"; - - test("Approve DAI tokens nanos", async () => { jest.setTimeout(TIMEOUT); const sim = new Zemu(NANOS_ELF_PATH); + let tmpPath = getTmpPath(expect.getState().currentTestName); + try { await sim.start(sim_options_nanos); @@ -40,59 +37,59 @@ test("Approve DAI tokens nanos", async () => { // Review tx filename = "review.png"; - await sim.snapshot(SNAPSHOT_PATH_NANOS + filename); - const review = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.snapshot(tmpPath + filename); + const review = Zemu.LoadPng2RGB(tmpPath + filename); const expected_review = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(review).toEqual(expected_review); + expect(review).toMatchSnapshot(expected_review); // Type filename = "type.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const type = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const type = Zemu.LoadPng2RGB(tmpPath + filename); const expected_type = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(type).toEqual(expected_type); + expect(type).toMatchSnapshot(expected_type); // Amount filename = "amount.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const amount = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const amount = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(amount).toEqual(expected_amount); + expect(amount).toMatchSnapshot(expected_amount); // Address 1/3 filename = "address_1.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_1 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_1 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_1 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_1).toEqual(expected_address_1); + expect(address_1).toMatchSnapshot(expected_address_1); // Address 2/3 filename = "address_2.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_2 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_2 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_2 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_2).toEqual(expected_address_2); + expect(address_2).toMatchSnapshot(expected_address_2); // Address 3/3 filename = "address_3.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_3 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_3 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_3 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_3).toEqual(expected_address_3); + expect(address_3).toMatchSnapshot(expected_address_3); // Max Fees filename = "fees.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const fees = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const fees = Zemu.LoadPng2RGB(tmpPath + filename); const expected_fees = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(fees).toEqual(expected_fees); + expect(fees).toMatchSnapshot(expected_fees); // Accept filename = "accept.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const accept = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const accept = Zemu.LoadPng2RGB(tmpPath + filename); const expected_accept = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(accept).toEqual(expected_accept); + expect(accept).toMatchSnapshot(expected_accept); await sim.clickBoth(); @@ -108,6 +105,8 @@ test("Approve DAI token nanox", async () => { jest.setTimeout(TIMEOUT); const sim = new Zemu(NANOX_ELF_PATH); + let tmpPath = getTmpPath(expect.getState().currentTestName); + try { await sim.start(sim_options_nanox); @@ -125,45 +124,45 @@ test("Approve DAI token nanox", async () => { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()); // Review tx filename = "review.png"; - await sim.snapshot(SNAPSHOT_PATH_NANOX + filename); - const review = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.snapshot(tmpPath + filename); + const review = Zemu.LoadPng2RGB(tmpPath + filename); const expected_review = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(review).toEqual(expected_review); + expect(review).toMatchSnapshot(expected_review); // Type filename = "type.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const type = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const type = Zemu.LoadPng2RGB(tmpPath + filename); const expected_type = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(type).toEqual(expected_type); + expect(type).toMatchSnapshot(expected_type); // Amount filename = "amount.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const amount = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const amount = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(amount).toEqual(expected_amount); + expect(amount).toMatchSnapshot(expected_amount); // Address filename = "address.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const address = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const address = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(address).toEqual(expected_address); + expect(address).toMatchSnapshot(expected_address); // Max Fees filename = "fees.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const fees = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const fees = Zemu.LoadPng2RGB(tmpPath + filename); const expected_fees = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(fees).toEqual(expected_fees); + expect(fees).toMatchSnapshot(expected_fees); // Accept filename = "accept.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const accept = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const accept = Zemu.LoadPng2RGB(tmpPath + filename); const expected_accept = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(accept).toEqual(expected_accept); + expect(accept).toMatchSnapshot(expected_accept); await sim.clickBoth(); diff --git a/tests/src/deposit.test.js b/tests/src/deposit.test.js index b024692..2aa054d 100644 --- a/tests/src/deposit.test.js +++ b/tests/src/deposit.test.js @@ -6,22 +6,18 @@ import Zemu from "@zondax/zemu"; import { TransportStatusError } from "@ledgerhq/errors"; import { expect } from "../jest"; -const {NANOS_ELF_PATH, NANOX_ELF_PATH, sim_options_nanos, sim_options_nanox, TIMEOUT} = require("generic.js"); +const {NANOS_ELF_PATH, NANOX_ELF_PATH, sim_options_nanos, sim_options_nanox, TIMEOUT, getTmpPath} = require("generic.js"); // Adapt this prefix. const ORIGINAL_SNAPSHOT_PATH_PREFIX = "snapshots/deposit/"; -const SNAPSHOT_PATH_PREFIX = "snapshots/tmp/"; const ORIGINAL_SNAPSHOT_PATH_NANOS = ORIGINAL_SNAPSHOT_PATH_PREFIX + "nanos/"; const ORIGINAL_SNAPSHOT_PATH_NANOX = ORIGINAL_SNAPSHOT_PATH_PREFIX + "nanox/"; -const SNAPSHOT_PATH_NANOS = SNAPSHOT_PATH_PREFIX + "nanos/"; -const SNAPSHOT_PATH_NANOX = SNAPSHOT_PATH_PREFIX + "nanox/"; - - test("Deposit ETH nanos", async () => { jest.setTimeout(TIMEOUT); const sim = new Zemu(NANOS_ELF_PATH); + let tmpPath = getTmpPath(expect.getState().currentTestName); try { await sim.start(sim_options_nanos); @@ -39,59 +35,59 @@ test("Deposit ETH nanos", async () => { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()); // Review tx filename = "review.png"; - await sim.snapshot(SNAPSHOT_PATH_NANOS + filename); - const review = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.snapshot(tmpPath + filename); + const review = Zemu.LoadPng2RGB(tmpPath + filename); const expected_review = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(review).toEqual(expected_review); + expect(review).toMatchSnapshot(expected_review); // Data present filename = "data_present.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const data_present = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const data_present = Zemu.LoadPng2RGB(tmpPath + filename); const expected_data_present = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(data_present).toEqual(expected_data_present); + expect(data_present).toMatchSnapshot(expected_data_present); // Amount filename = "amount.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const amount = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const amount = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(amount).toEqual(expected_amount); + expect(amount).toMatchSnapshot(expected_amount); // Address 1/3 filename = "address_1.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_1 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_1 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_1 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_1).toEqual(expected_address_1); + expect(address_1).toMatchSnapshot(expected_address_1); // Address 2/3 filename = "address_2.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_2 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_2 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_2 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_2).toEqual(expected_address_2); + expect(address_2).toMatchSnapshot(expected_address_2); // Address 3/3 filename = "address_3.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_3 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_3 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_3 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_3).toEqual(expected_address_3); + expect(address_3).toMatchSnapshot(expected_address_3); // Max Fees filename = "fees.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const fees = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const fees = Zemu.LoadPng2RGB(tmpPath + filename); const expected_fees = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(fees).toEqual(expected_fees); + expect(fees).toMatchSnapshot(expected_fees); // Accept filename = "accept.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const accept = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const accept = Zemu.LoadPng2RGB(tmpPath + filename); const expected_accept = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(accept).toEqual(expected_accept); + expect(accept).toMatchSnapshot(expected_accept); await sim.clickBoth(); @@ -106,6 +102,7 @@ test("Deposit ETH nanos", async () => { test("Deposit ETH nanox", async () => { jest.setTimeout(TIMEOUT); const sim = new Zemu(NANOX_ELF_PATH); + let tmpPath = getTmpPath(expect.getState().currentTestName); try { await sim.start(sim_options_nanox); @@ -123,45 +120,45 @@ test("Deposit ETH nanox", async () => { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()); // Review tx filename = "review.png"; - await sim.snapshot(SNAPSHOT_PATH_NANOX + filename); - const review = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.snapshot(tmpPath + filename); + const review = Zemu.LoadPng2RGB(tmpPath + filename); const expected_review = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(review).toEqual(expected_review); + expect(review).toMatchSnapshot(expected_review); // Data present filename = "data_present.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const data_present = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const data_present = Zemu.LoadPng2RGB(tmpPath + filename); const expected_data_present = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(data_present).toEqual(expected_data_present); + expect(data_present).toMatchSnapshot(expected_data_present); // Amount filename = "amount.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const amount = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const amount = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(amount).toEqual(expected_amount); + expect(amount).toMatchSnapshot(expected_amount); // Address filename = "address.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const address = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const address = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(address).toEqual(expected_address); + expect(address).toMatchSnapshot(expected_address); // Max Fees filename = "fees.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const fees = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const fees = Zemu.LoadPng2RGB(tmpPath + filename); const expected_fees = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(fees).toEqual(expected_fees); + expect(fees).toMatchSnapshot(expected_fees); // Accept filename = "accept.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const accept = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const accept = Zemu.LoadPng2RGB(tmpPath + filename); const expected_accept = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(accept).toEqual(expected_accept); + expect(accept).toMatchSnapshot(expected_accept); await sim.clickBoth(); diff --git a/tests/src/eip1559.test.js b/tests/src/eip1559.test.js index d102d3c..4ad9427 100644 --- a/tests/src/eip1559.test.js +++ b/tests/src/eip1559.test.js @@ -6,20 +6,17 @@ import Zemu from "@zondax/zemu"; import { TransportStatusError } from "@ledgerhq/errors"; import { expect } from "../jest"; -const {NANOS_ELF_PATH, NANOX_ELF_PATH, sim_options_nanos, sim_options_nanox, TIMEOUT} = require("generic.js"); +const {NANOS_ELF_PATH, NANOX_ELF_PATH, sim_options_nanos, sim_options_nanox, TIMEOUT, getTmpPath} = require("generic.js"); const ORIGINAL_SNAPSHOT_PATH_PREFIX = "snapshots/eip1559/"; -const SNAPSHOT_PATH_PREFIX = "snapshots/eip1559/"; const ORIGINAL_SNAPSHOT_PATH_NANOS = ORIGINAL_SNAPSHOT_PATH_PREFIX + "nanos/"; const ORIGINAL_SNAPSHOT_PATH_NANOX = ORIGINAL_SNAPSHOT_PATH_PREFIX + "nanox/"; -const SNAPSHOT_PATH_NANOS = SNAPSHOT_PATH_PREFIX + "nanos/"; -const SNAPSHOT_PATH_NANOX = SNAPSHOT_PATH_PREFIX + "nanox/"; - test("Transfer nanos eip1559", async () => { jest.setTimeout(TIMEOUT); const sim = new Zemu(NANOS_ELF_PATH); + let tmpPath = getTmpPath(expect.getState().currentTestName); try { await sim.start(sim_options_nanos); @@ -36,52 +33,52 @@ test("Transfer nanos eip1559", async () => { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()); // Review tx filename = "review.png"; - await sim.snapshot(SNAPSHOT_PATH_NANOS + filename); - const review = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.snapshot(tmpPath + filename); + const review = Zemu.LoadPng2RGB(tmpPath + filename); const expected_review = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(review).toEqual(expected_review); + expect(review).toMatchSnapshot(expected_review); // Amount filename = "amount.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const amount = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const amount = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(amount).toEqual(expected_amount); + expect(amount).toMatchSnapshot(expected_amount); // Address 1/3 filename = "address_1.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_1 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_1 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_1 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_1).toEqual(expected_address_1); + expect(address_1).toMatchSnapshot(expected_address_1); // Address 2/3 filename = "address_2.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_2 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_2 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_2 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_2).toEqual(expected_address_2); + expect(address_2).toMatchSnapshot(expected_address_2); // Address 3/3 filename = "address_3.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_3 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_3 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_3 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_3).toEqual(expected_address_3); + expect(address_3).toMatchSnapshot(expected_address_3); // Max Fees filename = "fees.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const fees = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const fees = Zemu.LoadPng2RGB(tmpPath + filename); const expected_fees = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(fees).toEqual(expected_fees); + expect(fees).toMatchSnapshot(expected_fees); // Accept filename = "accept.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const accept = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const accept = Zemu.LoadPng2RGB(tmpPath + filename); const expected_accept = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(accept).toEqual(expected_accept); + expect(accept).toMatchSnapshot(expected_accept); await sim.clickBoth(); @@ -95,6 +92,7 @@ test("Transfer nanos eip1559", async () => { test("Transfer nanox", async () => { jest.setTimeout(TIMEOUT); const sim = new Zemu(NANOX_ELF_PATH); + let tmpPath = getTmpPath(expect.getState().currentTestName); try { await sim.start(sim_options_nanox); @@ -111,38 +109,38 @@ test("Transfer nanox", async () => { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()); // Review tx filename = "review.png"; - await sim.snapshot(SNAPSHOT_PATH_NANOX + filename); - const review = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.snapshot(tmpPath + filename); + const review = Zemu.LoadPng2RGB(tmpPath + filename); const expected_review = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(review).toEqual(expected_review); + expect(review).toMatchSnapshot(expected_review); // Amount filename = "amount.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const amount = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const amount = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(amount).toEqual(expected_amount); + expect(amount).toMatchSnapshot(expected_amount); // Address filename = "address.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const address = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const address = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(address).toEqual(expected_address); + expect(address).toMatchSnapshot(expected_address); // Max Fees filename = "fees.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const fees = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const fees = Zemu.LoadPng2RGB(tmpPath + filename); const expected_fees = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(fees).toEqual(expected_fees); + expect(fees).toMatchSnapshot(expected_fees); // Accept filename = "accept.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const accept = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const accept = Zemu.LoadPng2RGB(tmpPath + filename); const expected_accept = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(accept).toEqual(expected_accept); + expect(accept).toMatchSnapshot(expected_accept); await sim.clickBoth(); diff --git a/tests/src/generic.js b/tests/src/generic.js index 2fdcd2b..dff7566 100644 --- a/tests/src/generic.js +++ b/tests/src/generic.js @@ -1,3 +1,5 @@ +import fs from "fs"; + const sim_options_nanos = { model: "nanos", logging: true, @@ -26,6 +28,17 @@ const NANOX_CLONE_ELF_PATH = Resolve("elfs/ethereum_classic_nanox.elf"); const TIMEOUT = 1000000; +const getTmpPath = (testName) => { + let date = new Date(); + let tmpPath = `snapshots/tmp/${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}@${testName}/`; + fs.mkdir(tmpPath, { recursive:true }, (err) => { + if(err) { + console.log("couldn't create tmp folder at path: " + tmpPath) + } + }); + return tmpPath; +} + module.exports = { NANOS_ELF_PATH, NANOX_ELF_PATH, @@ -36,4 +49,5 @@ module.exports = { sim_options_nanos, sim_options_nanox, TIMEOUT, + getTmpPath, } \ No newline at end of file diff --git a/tests/src/send.test.js b/tests/src/send.test.js index 7deb7c7..1ba03de 100644 --- a/tests/src/send.test.js +++ b/tests/src/send.test.js @@ -6,20 +6,17 @@ import Zemu from "@zondax/zemu"; import { TransportStatusError } from "@ledgerhq/errors"; import { expect } from "../jest"; -const {NANOS_ELF_PATH, NANOX_ELF_PATH, sim_options_nanos, sim_options_nanox, TIMEOUT} = require("generic.js"); +const {NANOS_ELF_PATH, NANOX_ELF_PATH, sim_options_nanos, sim_options_nanox, TIMEOUT, getTmpPath} = require("generic.js"); const ORIGINAL_SNAPSHOT_PATH_PREFIX = "snapshots/send/"; -const SNAPSHOT_PATH_PREFIX = "snapshots/tmp/"; const ORIGINAL_SNAPSHOT_PATH_NANOS = ORIGINAL_SNAPSHOT_PATH_PREFIX + "nanos/"; const ORIGINAL_SNAPSHOT_PATH_NANOX = ORIGINAL_SNAPSHOT_PATH_PREFIX + "nanox/"; -const SNAPSHOT_PATH_NANOS = SNAPSHOT_PATH_PREFIX + "nanos/"; -const SNAPSHOT_PATH_NANOX = SNAPSHOT_PATH_PREFIX + "nanox/"; - test("Transfer Ether on Ethereum app nanos", async () => { jest.setTimeout(TIMEOUT); const sim = new Zemu(NANOS_ELF_PATH); + let tmpPath = getTmpPath(expect.getState().currentTestName); try { await sim.start(sim_options_nanos); @@ -35,66 +32,66 @@ test("Transfer Ether on Ethereum app nanos", async () => { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()); // Review tx filename = "review.png"; - await sim.snapshot(SNAPSHOT_PATH_NANOS + filename); - const review = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.snapshot(tmpPath + filename); + const review = Zemu.LoadPng2RGB(tmpPath + filename); const expected_review = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(review).toEqual(expected_review); + expect(review).toMatchSnapshot(expected_review); // Amount 1/3 filename = "amount_1.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const amount_1 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const amount_1 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount_1 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(amount_1).toEqual(expected_amount_1); + expect(amount_1).toMatchSnapshot(expected_amount_1); // Amount 2/3 filename = "amount_2.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const amount_2 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const amount_2 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount_2 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(amount_2).toEqual(expected_amount_2); + expect(amount_2).toMatchSnapshot(expected_amount_2); // Amount 3/3 filename = "amount_3.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const amount_3 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const amount_3 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount_3 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(amount_3).toEqual(expected_amount_3); + expect(amount_3).toMatchSnapshot(expected_amount_3); // Address 1/3 filename = "address_1.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_1 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_1 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_1 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_1).toEqual(expected_address_1); + expect(address_1).toMatchSnapshot(expected_address_1); // Address 2/3 filename = "address_2.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_2 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_2 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_2 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_2).toEqual(expected_address_2); + expect(address_2).toMatchSnapshot(expected_address_2); // Address 3/3 filename = "address_3.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_3 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_3 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_3 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_3).toEqual(expected_address_3); + expect(address_3).toMatchSnapshot(expected_address_3); // Max Fees filename = "fees.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const fees = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const fees = Zemu.LoadPng2RGB(tmpPath + filename); const expected_fees = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(fees).toEqual(expected_fees); + expect(fees).toMatchSnapshot(expected_fees); // Accept filename = "accept.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const accept = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const accept = Zemu.LoadPng2RGB(tmpPath + filename); const expected_accept = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(accept).toEqual(expected_accept); + expect(accept).toMatchSnapshot(expected_accept); await sim.clickBoth(); @@ -109,6 +106,7 @@ test("Transfer Ether on Ethereum app nanos", async () => { test("Transfer on network 5234 on Ethereum nanos", async () => { jest.setTimeout(TIMEOUT); const sim = new Zemu(NANOS_ELF_PATH); + let tmpPath = getTmpPath(expect.getState().currentTestName); try { await sim.start(sim_options_nanos); @@ -124,73 +122,73 @@ test("Transfer on network 5234 on Ethereum nanos", async () => { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()); // Review tx filename = "review.png"; - await sim.snapshot(SNAPSHOT_PATH_NANOS + filename); - const review = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.snapshot(tmpPath + filename); + const review = Zemu.LoadPng2RGB(tmpPath + filename); const expected_review = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(review).toEqual(expected_review); + expect(review).toMatchSnapshot(expected_review); // Amount 1/3 filename = "amount_1.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const amount_1 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const amount_1 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount_1 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(amount_1).toEqual(expected_amount_1); + expect(amount_1).toMatchSnapshot(expected_amount_1); // Amount 2/3 filename = "amount_2.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const amount_2 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const amount_2 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount_2 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(amount_2).toEqual(expected_amount_2); + expect(amount_2).toMatchSnapshot(expected_amount_2); // Amount 3/3 filename = "amount_3.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const amount_3 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const amount_3 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount_3 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(amount_3).toEqual(expected_amount_3); + expect(amount_3).toMatchSnapshot(expected_amount_3); // Address 1/3 filename = "address_1.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_1 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_1 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_1 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_1).toEqual(expected_address_1); + expect(address_1).toMatchSnapshot(expected_address_1); // Address 2/3 filename = "address_2.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_2 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_2 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_2 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_2).toEqual(expected_address_2); + expect(address_2).toMatchSnapshot(expected_address_2); // Address 3/3 filename = "address_3.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_3 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_3 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_3 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_3).toEqual(expected_address_3); + expect(address_3).toMatchSnapshot(expected_address_3); // Network filename = "network.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const network = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const network = Zemu.LoadPng2RGB(tmpPath + filename); const expected_network = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(network).toEqual(expected_network); + expect(network).toMatchSnapshot(expected_network); // Max Fees filename = "fees.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const fees = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const fees = Zemu.LoadPng2RGB(tmpPath + filename); const expected_fees = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(fees).toEqual(expected_fees); + expect(fees).toMatchSnapshot(expected_fees); // Accept filename = "accept.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const accept = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const accept = Zemu.LoadPng2RGB(tmpPath + filename); const expected_accept = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(accept).toEqual(expected_accept); + expect(accept).toMatchSnapshot(expected_accept); await sim.clickBoth(); @@ -205,6 +203,7 @@ test("Transfer on network 5234 on Ethereum nanos", async () => { test("Transfer Ether on Ethereum nanox", async () => { jest.setTimeout(TIMEOUT); const sim = new Zemu(NANOX_ELF_PATH); + let tmpPath = getTmpPath(expect.getState().currentTestName); try { await sim.start(sim_options_nanox); @@ -219,38 +218,38 @@ test("Transfer Ether on Ethereum nanox", async () => { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()); // Review tx filename = "review.png"; - await sim.snapshot(SNAPSHOT_PATH_NANOX + filename); - const review = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.snapshot(tmpPath + filename); + const review = Zemu.LoadPng2RGB(tmpPath + filename); const expected_review = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(review).toEqual(expected_review); + expect(review).toMatchSnapshot(expected_review); // Amount filename = "amount.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const amount = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const amount = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(amount).toEqual(expected_amount); + expect(amount).toMatchSnapshot(expected_amount); // Address filename = "address.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const address = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const address = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(address).toEqual(expected_address); + expect(address).toMatchSnapshot(expected_address); // Max Fees filename = "fees.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const fees = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const fees = Zemu.LoadPng2RGB(tmpPath + filename); const expected_fees = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(fees).toEqual(expected_fees); + expect(fees).toMatchSnapshot(expected_fees); // Accept filename = "accept.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const accept = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const accept = Zemu.LoadPng2RGB(tmpPath + filename); const expected_accept = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(accept).toEqual(expected_accept); + expect(accept).toMatchSnapshot(expected_accept); await sim.clickBoth(); @@ -266,6 +265,7 @@ test("Transfer Ether on Ethereum nanox", async () => { test("Transfer on network 5234 on Ethereum nanox", async () => { jest.setTimeout(TIMEOUT); const sim = new Zemu(NANOX_ELF_PATH); + let tmpPath = getTmpPath(expect.getState().currentTestName); try { await sim.start(sim_options_nanox); @@ -281,45 +281,45 @@ test("Transfer on network 5234 on Ethereum nanox", async () => { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()); // Review tx filename = "review.png"; - await sim.snapshot(SNAPSHOT_PATH_NANOX + filename); - const review = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.snapshot(tmpPath + filename); + const review = Zemu.LoadPng2RGB(tmpPath + filename); const expected_review = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(review).toEqual(expected_review); + expect(review).toMatchSnapshot(expected_review); // Amount filename = "amount.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const amount = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const amount = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(amount).toEqual(expected_amount); + expect(amount).toMatchSnapshot(expected_amount); // Address filename = "address.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const address = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const address = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(address).toEqual(expected_address); + expect(address).toMatchSnapshot(expected_address); // Network filename = "network.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const network = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const network = Zemu.LoadPng2RGB(tmpPath + filename); const expected_network = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(network).toEqual(expected_network); + expect(network).toMatchSnapshot(expected_network); // Max Fees filename = "fees.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const fees = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const fees = Zemu.LoadPng2RGB(tmpPath + filename); const expected_fees = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(fees).toEqual(expected_fees); + expect(fees).toMatchSnapshot(expected_fees); // Accept filename = "accept.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const accept = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const accept = Zemu.LoadPng2RGB(tmpPath + filename); const expected_accept = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(accept).toEqual(expected_accept); + expect(accept).toMatchSnapshot(expected_accept); await sim.clickBoth(); diff --git a/tests/src/send_bsc.test.js b/tests/src/send_bsc.test.js index 028f6cb..8339b69 100644 --- a/tests/src/send_bsc.test.js +++ b/tests/src/send_bsc.test.js @@ -6,21 +6,18 @@ import Zemu from "@zondax/zemu"; import { TransportStatusError } from "@ledgerhq/errors"; import { expect } from "../jest"; -const {NANOS_ELF_PATH, NANOX_ELF_PATH, sim_options_nanos, sim_options_nanox, TIMEOUT} = require("generic.js"); +const {NANOS_ELF_PATH, NANOX_ELF_PATH, sim_options_nanos, sim_options_nanox, TIMEOUT, getTmpPath} = require("generic.js"); const ORIGINAL_SNAPSHOT_PATH_PREFIX = "snapshots/send_bsc/"; -const SNAPSHOT_PATH_PREFIX = "snapshots/tmp/"; const ORIGINAL_SNAPSHOT_PATH_NANOS = ORIGINAL_SNAPSHOT_PATH_PREFIX + "nanos/"; const ORIGINAL_SNAPSHOT_PATH_NANOX = ORIGINAL_SNAPSHOT_PATH_PREFIX + "nanox/"; -const SNAPSHOT_PATH_NANOS = SNAPSHOT_PATH_PREFIX + "nanos/"; -const SNAPSHOT_PATH_NANOX = SNAPSHOT_PATH_PREFIX + "nanox/"; - test("Transfer bsc nanos", async () => { jest.setTimeout(TIMEOUT); const sim = new Zemu(NANOS_ELF_PATH); + let tmpPath = getTmpPath(expect.getState().currentTestName); try { await sim.start(sim_options_nanos); @@ -36,73 +33,73 @@ test("Transfer bsc nanos", async () => { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()); // Review tx filename = "review.png"; - await sim.snapshot(SNAPSHOT_PATH_NANOS + filename); - const review = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.snapshot(tmpPath + filename); + const review = Zemu.LoadPng2RGB(tmpPath + filename); const expected_review = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(review).toEqual(expected_review); + expect(review).toMatchSnapshot(expected_review); // Amount 1/3 filename = "amount_1.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const amount_1 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const amount_1 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount_1 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(amount_1).toEqual(expected_amount_1); + expect(amount_1).toMatchSnapshot(expected_amount_1); // Amount 2/3 filename = "amount_2.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const amount_2 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const amount_2 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount_2 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(amount_2).toEqual(expected_amount_2); + expect(amount_2).toMatchSnapshot(expected_amount_2); // Amount 3/3 filename = "amount_3.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const amount_3 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const amount_3 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount_3 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(amount_3).toEqual(expected_amount_3); + expect(amount_3).toMatchSnapshot(expected_amount_3); // Address 1/3 filename = "address_1.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_1 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_1 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_1 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_1).toEqual(expected_address_1); + expect(address_1).toMatchSnapshot(expected_address_1); // Address 2/3 filename = "address_2.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_2 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_2 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_2 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_2).toEqual(expected_address_2); + expect(address_2).toMatchSnapshot(expected_address_2); // Address 3/3 filename = "address_3.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_3 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_3 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_3 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_3).toEqual(expected_address_3); + expect(address_3).toMatchSnapshot(expected_address_3); // Network name filename = "network.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const chainid = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const chainid = Zemu.LoadPng2RGB(tmpPath + filename); const expected_chainid = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(chainid).toEqual(expected_chainid); + expect(chainid).toMatchSnapshot(expected_chainid); // Max Fees filename = "fees.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const fees = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const fees = Zemu.LoadPng2RGB(tmpPath + filename); const expected_fees = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(fees).toEqual(expected_fees); + expect(fees).toMatchSnapshot(expected_fees); // Accept filename = "accept.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const accept = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const accept = Zemu.LoadPng2RGB(tmpPath + filename); const expected_accept = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(accept).toEqual(expected_accept); + expect(accept).toMatchSnapshot(expected_accept); await sim.clickBoth(); @@ -118,6 +115,7 @@ test("Transfer bsc nanos", async () => { test("Transfer bsc nanox", async () => { jest.setTimeout(TIMEOUT); const sim = new Zemu(NANOX_ELF_PATH); + let tmpPath = getTmpPath(expect.getState().currentTestName); try { await sim.start(sim_options_nanox); @@ -132,45 +130,45 @@ test("Transfer bsc nanox", async () => { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()); // Review tx filename = "review.png"; - await sim.snapshot(SNAPSHOT_PATH_NANOX + filename); - const review = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.snapshot(tmpPath + filename); + const review = Zemu.LoadPng2RGB(tmpPath + filename); const expected_review = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(review).toEqual(expected_review); + expect(review).toMatchSnapshot(expected_review); // Amount filename = "amount.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const amount = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const amount = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(amount).toEqual(expected_amount); + expect(amount).toMatchSnapshot(expected_amount); // Address filename = "address.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const address = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const address = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(address).toEqual(expected_address); + expect(address).toMatchSnapshot(expected_address); // Network name filename = "network.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const chainid = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const chainid = Zemu.LoadPng2RGB(tmpPath + filename); const expected_chainid = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(chainid).toEqual(expected_chainid); + expect(chainid).toMatchSnapshot(expected_chainid); // Max Fees filename = "fees.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const fees = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const fees = Zemu.LoadPng2RGB(tmpPath + filename); const expected_fees = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(fees).toEqual(expected_fees); + expect(fees).toMatchSnapshot(expected_fees); // Accept filename = "accept.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const accept = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const accept = Zemu.LoadPng2RGB(tmpPath + filename); const expected_accept = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(accept).toEqual(expected_accept); + expect(accept).toMatchSnapshot(expected_accept); await sim.clickBoth(); diff --git a/tests/src/send_etc.test.js b/tests/src/send_etc.test.js index 39da31c..0407144 100644 --- a/tests/src/send_etc.test.js +++ b/tests/src/send_etc.test.js @@ -6,20 +6,18 @@ import Zemu from "@zondax/zemu"; import { TransportStatusError } from "@ledgerhq/errors"; import { expect } from "../jest"; -const {NANOS_ETH_LIB, NANOX_ETH_LIB, NANOS_CLONE_ELF_PATH, NANOX_CLONE_ELF_PATH, sim_options_nanos, sim_options_nanox, TIMEOUT} = require("generic.js"); +const {NANOS_ETH_LIB, NANOX_ETH_LIB, NANOS_CLONE_ELF_PATH, NANOX_CLONE_ELF_PATH, sim_options_nanos, sim_options_nanox, TIMEOUT, getTmpPath} = require("generic.js"); const ORIGINAL_SNAPSHOT_PATH_PREFIX = "snapshots/send_etc/"; -const SNAPSHOT_PATH_PREFIX = "snapshots/tmp/"; const ORIGINAL_SNAPSHOT_PATH_NANOS = ORIGINAL_SNAPSHOT_PATH_PREFIX + "nanos/"; const ORIGINAL_SNAPSHOT_PATH_NANOX = ORIGINAL_SNAPSHOT_PATH_PREFIX + "nanox/"; -const SNAPSHOT_PATH_NANOS = SNAPSHOT_PATH_PREFIX + "nanos/"; -const SNAPSHOT_PATH_NANOX = SNAPSHOT_PATH_PREFIX + "nanox/"; test("Transfer on Ethereum clone app nanos", async () => { jest.setTimeout(TIMEOUT); const sim = new Zemu(NANOS_CLONE_ELF_PATH, NANOS_ETH_LIB); + let tmpPath = getTmpPath(expect.getState().currentTestName); try { await sim.start(sim_options_nanos); @@ -35,66 +33,66 @@ test("Transfer on Ethereum clone app nanos", async () => { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()); // Review tx filename = "review.png"; - await sim.snapshot(SNAPSHOT_PATH_NANOS + filename); - const review = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.snapshot(tmpPath + filename); + const review = Zemu.LoadPng2RGB(tmpPath + filename); const expected_review = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(review).toEqual(expected_review); + expect(review).toMatchSnapshot(expected_review); // Amount 1/3 filename = "amount_1.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const amount_1 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const amount_1 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount_1 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(amount_1).toEqual(expected_amount_1); + expect(amount_1).toMatchSnapshot(expected_amount_1); // Amount 2/3 filename = "amount_2.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const amount_2 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const amount_2 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount_2 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(amount_2).toEqual(expected_amount_2); + expect(amount_2).toMatchSnapshot(expected_amount_2); // Amount 3/3 filename = "amount_3.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const amount_3 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const amount_3 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount_3 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(amount_3).toEqual(expected_amount_3); + expect(amount_3).toMatchSnapshot(expected_amount_3); // Address 1/3 filename = "address_1.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_1 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_1 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_1 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_1).toEqual(expected_address_1); + expect(address_1).toMatchSnapshot(expected_address_1); // Address 2/3 filename = "address_2.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_2 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_2 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_2 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_2).toEqual(expected_address_2); + expect(address_2).toMatchSnapshot(expected_address_2); // Address 3/3 filename = "address_3.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const address_3 = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const address_3 = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address_3 = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(address_3).toEqual(expected_address_3); + expect(address_3).toMatchSnapshot(expected_address_3); // Max Fees filename = "fees.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const fees = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const fees = Zemu.LoadPng2RGB(tmpPath + filename); const expected_fees = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(fees).toEqual(expected_fees); + expect(fees).toMatchSnapshot(expected_fees); // Accept filename = "accept.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOS + filename); - const accept = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOS + filename); + await sim.clickRight(tmpPath + filename); + const accept = Zemu.LoadPng2RGB(tmpPath + filename); const expected_accept = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOS + filename); - expect(accept).toEqual(expected_accept); + expect(accept).toMatchSnapshot(expected_accept); await sim.clickBoth(); await expect(tx).resolves.toEqual( @@ -129,6 +127,7 @@ test("Transfer on network 5234 on Ethereum clone nanos", async () => { test("Transfer on Ethereum clone nanox", async () => { jest.setTimeout(TIMEOUT); const sim = new Zemu(NANOX_CLONE_ELF_PATH, NANOX_ETH_LIB); + let tmpPath = getTmpPath(expect.getState().currentTestName); try { await sim.start(sim_options_nanox); @@ -143,38 +142,38 @@ test("Transfer on Ethereum clone nanox", async () => { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()); // Review tx filename = "review.png"; - await sim.snapshot(SNAPSHOT_PATH_NANOX + filename); - const review = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.snapshot(tmpPath + filename); + const review = Zemu.LoadPng2RGB(tmpPath + filename); const expected_review = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(review).toEqual(expected_review); + expect(review).toMatchSnapshot(expected_review); // Amount filename = "amount.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const amount = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const amount = Zemu.LoadPng2RGB(tmpPath + filename); const expected_amount = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(amount).toEqual(expected_amount); + expect(amount).toMatchSnapshot(expected_amount); // Address filename = "address.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const address = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const address = Zemu.LoadPng2RGB(tmpPath + filename); const expected_address = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(address).toEqual(expected_address); + expect(address).toMatchSnapshot(expected_address); // Max Fees filename = "fees.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const fees = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const fees = Zemu.LoadPng2RGB(tmpPath + filename); const expected_fees = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(fees).toEqual(expected_fees); + expect(fees).toMatchSnapshot(expected_fees); // Accept filename = "accept.png"; - await sim.clickRight(SNAPSHOT_PATH_NANOX + filename); - const accept = Zemu.LoadPng2RGB(SNAPSHOT_PATH_NANOX + filename); + await sim.clickRight(tmpPath + filename); + const accept = Zemu.LoadPng2RGB(tmpPath + filename); const expected_accept = Zemu.LoadPng2RGB(ORIGINAL_SNAPSHOT_PATH_NANOX + filename); - expect(accept).toEqual(expected_accept); + expect(accept).toMatchSnapshot(expected_accept); await sim.clickBoth();