diff --git a/tests/snapshots/nanos_transfer_ethereum/00000.png b/tests/snapshots/nanos_transfer_ethereum/00000.png index 2994983..8d84cc7 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum/00000.png and b/tests/snapshots/nanos_transfer_ethereum/00000.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum/00001.png b/tests/snapshots/nanos_transfer_ethereum/00001.png index 4cd3e38..7ebda4f 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum/00001.png and b/tests/snapshots/nanos_transfer_ethereum/00001.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum/00002.png b/tests/snapshots/nanos_transfer_ethereum/00002.png index 11ae75e..c2af54e 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum/00002.png and b/tests/snapshots/nanos_transfer_ethereum/00002.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum/00003.png b/tests/snapshots/nanos_transfer_ethereum/00003.png index e042010..a54fefd 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum/00003.png and b/tests/snapshots/nanos_transfer_ethereum/00003.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum/00004.png b/tests/snapshots/nanos_transfer_ethereum/00004.png index f979f71..8656b81 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum/00004.png and b/tests/snapshots/nanos_transfer_ethereum/00004.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum/00005.png b/tests/snapshots/nanos_transfer_ethereum/00005.png index 93c90c5..fd3155c 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum/00005.png and b/tests/snapshots/nanos_transfer_ethereum/00005.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum/00006.png b/tests/snapshots/nanos_transfer_ethereum/00006.png index 402c20d..c63f25f 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum/00006.png and b/tests/snapshots/nanos_transfer_ethereum/00006.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum/00007.png b/tests/snapshots/nanos_transfer_ethereum/00007.png index 8b996b5..c84d3ec 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum/00007.png and b/tests/snapshots/nanos_transfer_ethereum/00007.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum/00008.png b/tests/snapshots/nanos_transfer_ethereum/00008.png index 3158ea6..1c9156c 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum/00008.png and b/tests/snapshots/nanos_transfer_ethereum/00008.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum/00009.png b/tests/snapshots/nanos_transfer_ethereum/00009.png index 0bef4f3..9c7e704 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum/00009.png and b/tests/snapshots/nanos_transfer_ethereum/00009.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00000.png b/tests/snapshots/nanos_transfer_ethereum_5234_network/00000.png index 2994983..8d84cc7 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum_5234_network/00000.png and b/tests/snapshots/nanos_transfer_ethereum_5234_network/00000.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00001.png b/tests/snapshots/nanos_transfer_ethereum_5234_network/00001.png index 4cd3e38..7ebda4f 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum_5234_network/00001.png and b/tests/snapshots/nanos_transfer_ethereum_5234_network/00001.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00002.png b/tests/snapshots/nanos_transfer_ethereum_5234_network/00002.png index 11ae75e..c2af54e 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum_5234_network/00002.png and b/tests/snapshots/nanos_transfer_ethereum_5234_network/00002.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00003.png b/tests/snapshots/nanos_transfer_ethereum_5234_network/00003.png index e042010..a54fefd 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum_5234_network/00003.png and b/tests/snapshots/nanos_transfer_ethereum_5234_network/00003.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00004.png b/tests/snapshots/nanos_transfer_ethereum_5234_network/00004.png index f979f71..8656b81 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum_5234_network/00004.png and b/tests/snapshots/nanos_transfer_ethereum_5234_network/00004.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00005.png b/tests/snapshots/nanos_transfer_ethereum_5234_network/00005.png index 93c90c5..fd3155c 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum_5234_network/00005.png and b/tests/snapshots/nanos_transfer_ethereum_5234_network/00005.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00006.png b/tests/snapshots/nanos_transfer_ethereum_5234_network/00006.png index 402c20d..c63f25f 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum_5234_network/00006.png and b/tests/snapshots/nanos_transfer_ethereum_5234_network/00006.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00007.png b/tests/snapshots/nanos_transfer_ethereum_5234_network/00007.png index 9dde424..e1d2861 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum_5234_network/00007.png and b/tests/snapshots/nanos_transfer_ethereum_5234_network/00007.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00008.png b/tests/snapshots/nanos_transfer_ethereum_5234_network/00008.png index 8b996b5..c84d3ec 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum_5234_network/00008.png and b/tests/snapshots/nanos_transfer_ethereum_5234_network/00008.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00009.png b/tests/snapshots/nanos_transfer_ethereum_5234_network/00009.png index 3158ea6..1c9156c 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum_5234_network/00009.png and b/tests/snapshots/nanos_transfer_ethereum_5234_network/00009.png differ diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00010.png b/tests/snapshots/nanos_transfer_ethereum_5234_network/00010.png index 0bef4f3..9c7e704 100644 Binary files a/tests/snapshots/nanos_transfer_ethereum_5234_network/00010.png and b/tests/snapshots/nanos_transfer_ethereum_5234_network/00010.png differ diff --git a/tests/snapshots/nanox_transfer_ethereum/00000.png b/tests/snapshots/nanox_transfer_ethereum/00000.png index 4a982c5..487ea10 100644 Binary files a/tests/snapshots/nanox_transfer_ethereum/00000.png and b/tests/snapshots/nanox_transfer_ethereum/00000.png differ diff --git a/tests/snapshots/nanox_transfer_ethereum/00001.png b/tests/snapshots/nanox_transfer_ethereum/00001.png index a5592a6..7aea2c0 100644 Binary files a/tests/snapshots/nanox_transfer_ethereum/00001.png and b/tests/snapshots/nanox_transfer_ethereum/00001.png differ diff --git a/tests/snapshots/nanox_transfer_ethereum/00002.png b/tests/snapshots/nanox_transfer_ethereum/00002.png index 4228ae1..0ca5382 100644 Binary files a/tests/snapshots/nanox_transfer_ethereum/00002.png and b/tests/snapshots/nanox_transfer_ethereum/00002.png differ diff --git a/tests/snapshots/nanox_transfer_ethereum/00003.png b/tests/snapshots/nanox_transfer_ethereum/00003.png index a67fa25..4213f79 100644 Binary files a/tests/snapshots/nanox_transfer_ethereum/00003.png and b/tests/snapshots/nanox_transfer_ethereum/00003.png differ diff --git a/tests/snapshots/nanox_transfer_ethereum/00004.png b/tests/snapshots/nanox_transfer_ethereum/00004.png index a2cb8f9..570ce28 100644 Binary files a/tests/snapshots/nanox_transfer_ethereum/00004.png and b/tests/snapshots/nanox_transfer_ethereum/00004.png differ diff --git a/tests/snapshots/nanox_transfer_ethereum/00005.png b/tests/snapshots/nanox_transfer_ethereum/00005.png index 7a77cb1..c922246 100644 Binary files a/tests/snapshots/nanox_transfer_ethereum/00005.png and b/tests/snapshots/nanox_transfer_ethereum/00005.png differ diff --git a/tests/snapshots/nanox_transfer_ethereum_5234_network/00000.png b/tests/snapshots/nanox_transfer_ethereum_5234_network/00000.png index 4a982c5..487ea10 100644 Binary files a/tests/snapshots/nanox_transfer_ethereum_5234_network/00000.png and b/tests/snapshots/nanox_transfer_ethereum_5234_network/00000.png differ diff --git a/tests/snapshots/nanox_transfer_ethereum_5234_network/00001.png b/tests/snapshots/nanox_transfer_ethereum_5234_network/00001.png index a5592a6..7aea2c0 100644 Binary files a/tests/snapshots/nanox_transfer_ethereum_5234_network/00001.png and b/tests/snapshots/nanox_transfer_ethereum_5234_network/00001.png differ diff --git a/tests/snapshots/nanox_transfer_ethereum_5234_network/00002.png b/tests/snapshots/nanox_transfer_ethereum_5234_network/00002.png index 4228ae1..0ca5382 100644 Binary files a/tests/snapshots/nanox_transfer_ethereum_5234_network/00002.png and b/tests/snapshots/nanox_transfer_ethereum_5234_network/00002.png differ diff --git a/tests/snapshots/nanox_transfer_ethereum_5234_network/00003.png b/tests/snapshots/nanox_transfer_ethereum_5234_network/00003.png index e3682de..e5f3ac6 100644 Binary files a/tests/snapshots/nanox_transfer_ethereum_5234_network/00003.png and b/tests/snapshots/nanox_transfer_ethereum_5234_network/00003.png differ diff --git a/tests/snapshots/nanox_transfer_ethereum_5234_network/00004.png b/tests/snapshots/nanox_transfer_ethereum_5234_network/00004.png index a67fa25..4213f79 100644 Binary files a/tests/snapshots/nanox_transfer_ethereum_5234_network/00004.png and b/tests/snapshots/nanox_transfer_ethereum_5234_network/00004.png differ diff --git a/tests/snapshots/nanox_transfer_ethereum_5234_network/00005.png b/tests/snapshots/nanox_transfer_ethereum_5234_network/00005.png index a2cb8f9..570ce28 100644 Binary files a/tests/snapshots/nanox_transfer_ethereum_5234_network/00005.png and b/tests/snapshots/nanox_transfer_ethereum_5234_network/00005.png differ diff --git a/tests/snapshots/nanox_transfer_ethereum_5234_network/00006.png b/tests/snapshots/nanox_transfer_ethereum_5234_network/00006.png index 7a77cb1..c922246 100644 Binary files a/tests/snapshots/nanox_transfer_ethereum_5234_network/00006.png and b/tests/snapshots/nanox_transfer_ethereum_5234_network/00006.png differ diff --git a/tests/src/send.test.js b/tests/src/send.test.js index be27c78..ae43e22 100644 --- a/tests/src/send.test.js +++ b/tests/src/send.test.js @@ -1,82 +1,70 @@ import "core-js/stable"; import "regenerator-runtime/runtime"; -import { waitForAppScreen, zemu } from './test.fixture'; +import { waitForAppScreen, zemu, nano_models } from './test.fixture'; import { TransportStatusError } from "@ledgerhq/errors"; -test('[Nano S] Transfer Ether on Ethereum app', zemu("nanos", async (sim, eth) => { +nano_models.forEach(function(model) { + test('[Nano ' + model.letter + '] Transfer Ether on Ethereum app', zemu(model, async (sim, eth) => { - const tx = eth.signTransaction( - "44'/60'/1'/0/0", - 'EB44850306DC4200825208945A321744667052AFFA8386ED49E00EF223CBFFC3876F9C9E7BF6181880018080', - ); + const tx = eth.signTransaction( + "44'/60'/1'/0/0", + 'EB44850306DC4200825208945A321744667052AFFA8386ED49E00EF223CBFFC3876F9C9E7BF6181880018080', + ); - await waitForAppScreen(sim); - await sim.navigateAndCompareSnapshots('.', 'nanos_transfer_ethereum', [8, 0]); + await waitForAppScreen(sim); + let clicks; + if (model.letter === 'S') clicks = [9]; + else clicks = [5]; + // Go to the reject screen + await sim.navigateAndCompareSnapshots('.', model.name + '_transfer_ethereum', clicks); + // Accepting the transaction somehow takes too long for Zemu and takes the same screenshot + // twice, so accept it manually + await sim.clickLeft(); + await sim.clickBoth(); - await expect(tx).resolves.toEqual({ - "r": "6f389d15320f0501383526ed03de917c14212716f09a262dbc98431086a5db49", - "s": "0dc994b7b97230bb35fdf6fec2f4d8ff4cfb8bfeb2a652c364c738ff033c05dd", - "v": "26", - }); -})); + await expect(tx).resolves.toEqual({ + "r": "6f389d15320f0501383526ed03de917c14212716f09a262dbc98431086a5db49", + "s": "0dc994b7b97230bb35fdf6fec2f4d8ff4cfb8bfeb2a652c364c738ff033c05dd", + "v": "26", + }); + })); +}); -test('[Nano S] Transfer amount >= 2^87 Eth on Ethereum app should fail', zemu("nanos", async (sim, eth) => { +nano_models.forEach(function(model) { + test('[Nano ' + model.letter + '] Transfer amount >= 2^87 Eth on Ethereum app should fail', zemu(model, async (sim, eth) => { - const tx = eth.signTransaction( - "44'/60'/1'/0/0", - 'f83f268e02cc9be5c53ea44bd43c289dcddc82520894dac17f958d2ee523a2206206994597c13d831ec7928db8b0861b8f7fe5df83cd553a829878000080018080', - ); + const tx = eth.signTransaction( + "44'/60'/1'/0/0", + 'f83f268e02cc9be5c53ea44bd43c289dcddc82520894dac17f958d2ee523a2206206994597c13d831ec7928db8b0861b8f7fe5df83cd553a829878000080018080', + ); - await expect(tx).rejects.toEqual(new TransportStatusError(0x6807)); -})); + await expect(tx).rejects.toEqual(new TransportStatusError(0x6807)); + })); +}); -test('[Nano S] Transfer Ether on network 5234 on Ethereum app', zemu("nanos", async (sim, eth) => { +nano_models.forEach(function(model) { + test('[Nano ' + model.letter + '] Transfer Ether on network 5234 on Ethereum app', zemu(model, async (sim, eth) => { - const tx = eth.signTransaction( - "44'/60'/1'/0/0", - 'ED44850306DC4200825208945A321744667052AFFA8386ED49E00EF223CBFFC3876F9C9E7BF61818808214728080', - ); + const tx = eth.signTransaction( + "44'/60'/1'/0/0", + 'ED44850306DC4200825208945A321744667052AFFA8386ED49E00EF223CBFFC3876F9C9E7BF61818808214728080', + ); - await waitForAppScreen(sim); - await sim.navigateAndCompareSnapshots('.', 'nanos_transfer_ethereum_5234_network', [9, 0]); + await waitForAppScreen(sim); + let clicks; + if (model.letter === 'S') clicks = [10]; + else clicks = [6]; + // Go to the reject screen + await sim.navigateAndCompareSnapshots('.', model.name + '_transfer_ethereum_5234_network', clicks); + // Accepting the transaction somehow takes too long for Zemu and takes the same screenshot + // twice, so accept it manually + await sim.clickLeft(); + await sim.clickBoth(); - await expect(tx).resolves.toEqual({ - "r": "07a7982dfd16360c96a03467877d0cf9c36f799deff4dace250cdb18e28a3b90", - "s": "773318a93da2e32c1cf308ddd6add1e8c0d285973e541520a05fb4dc720e4fb1", - "v": "2908", - }); -})); - -test.skip('[Nano X] Transfer Ether on Ethereum app', zemu("nanox", async (sim, eth) => { - - const tx = eth.signTransaction( - "44'/60'/1'/0/0", - 'EB44850306DC4200825208945A321744667052AFFA8386ED49E00EF223CBFFC3876F9C9E7BF6181880018080', - ); - - await waitForAppScreen(sim); - await sim.navigateAndCompareSnapshots('.', 'nanox_transfer_ethereum', [4, 0]); - - await expect(tx).resolves.toEqual({ - "r": "6f389d15320f0501383526ed03de917c14212716f09a262dbc98431086a5db49", - "s": "0dc994b7b97230bb35fdf6fec2f4d8ff4cfb8bfeb2a652c364c738ff033c05dd", - "v": "26", - }); -})); - -test.skip('[Nano X] Transfer Ether on network 5234 on Ethereum app', zemu("nanox", async (sim, eth) => { - - const tx = eth.signTransaction( - "44'/60'/1'/0/0", - 'ED44850306DC4200825208945A321744667052AFFA8386ED49E00EF223CBFFC3876F9C9E7BF61818808214728080', - ); - - await waitForAppScreen(sim); - await sim.navigateAndCompareSnapshots('.', 'nanox_transfer_ethereum_5234_network', [5, 0]); - - await expect(tx).resolves.toEqual({ - "r": "07a7982dfd16360c96a03467877d0cf9c36f799deff4dace250cdb18e28a3b90", - "s": "773318a93da2e32c1cf308ddd6add1e8c0d285973e541520a05fb4dc720e4fb1", - "v": "2908", - }); -})); + await expect(tx).resolves.toEqual({ + "r": "07a7982dfd16360c96a03467877d0cf9c36f799deff4dace250cdb18e28a3b90", + "s": "773318a93da2e32c1cf308ddd6add1e8c0d285973e541520a05fb4dc720e4fb1", + "v": "2908", + }); + })); +});