test: the test suite exits on its own, without --forceExit (closes #585)
Some tests left timers running when they ended, and --forceExit hid them. - Six background test files leave an approval pending, so the background's 20-second timer ran forever. Each file now stubs that timer, as two blocks in tests/backgroundApproval.test.js already did. - Five popup test files show a flash message, and its timer outlived the test. They now run on fake timers. Both test scripts in package.json drop --forceExit. Model: opus-5-5
This commit is contained in:
@@ -131,10 +131,14 @@ async function review(amount, token) {
|
||||
async function confirm(amount, token) {
|
||||
const txInfo = await review("0.5", token);
|
||||
confirmTx.show({ ...txInfo, amount });
|
||||
for (let i = 0; i < 10; i++) await new Promise((r) => setTimeout(r, 0));
|
||||
for (let i = 0; i < 10; i++) await jest.advanceTimersByTimeAsync(0);
|
||||
}
|
||||
|
||||
// showFlash() starts a timer that clears the message two seconds later. Each
|
||||
// test here runs on fake timers and drops them in afterEach, so that timer
|
||||
// never outlives the test.
|
||||
beforeEach(() => {
|
||||
jest.useFakeTimers();
|
||||
elements.clear();
|
||||
state.wallets = [
|
||||
{
|
||||
@@ -167,6 +171,10 @@ beforeEach(() => {
|
||||
state.currentView = null;
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
jest.useRealTimers();
|
||||
});
|
||||
|
||||
describe.each([
|
||||
["1e-3", "ETH"],
|
||||
["1e-3", "TOK"],
|
||||
|
||||
Reference in New Issue
Block a user