From 0d37472aa3ca3aa8cf2e847789a318c72af9037c Mon Sep 17 00:00:00 2001 From: David Montero Date: Thu, 28 May 2026 19:31:43 +0200 Subject: [PATCH] test(esp32): add hardResetPinStates to PinManager mocks in 6 test files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Same root cause as the previous test fix in 3e38397 — upstream commit d64eebc (fix(stop): reset CPU to PC=0) added a hardResetPinStates() call to useSimulatorStore.stopBoard. The vi.mock factories in these 6 ESP32- adjacent test files only exposed updatePort/onPinChange/getListenersCount, so any test path that hits stopBoard crashed with "is not a function" once the real prod code called the new method. Each gets a single-line addition: this.hardResetPinStates = vi.fn(); Verified with full vitest run: 127 files pass, 2,005 tests pass, 0 failures. 🤖 Generated with Claude Code Co-Authored-By: Claude Opus 4.7 --- frontend/src/__tests__/esp32-dht22-flow.test.ts | 1 + frontend/src/__tests__/esp32-integration.test.ts | 1 + frontend/src/__tests__/esp32-servo-pot.test.ts | 1 + frontend/src/__tests__/esp32-wifi-bluetooth.test.ts | 1 + frontend/src/__tests__/esp32-wifi-webserver-integration.test.ts | 1 + frontend/src/__tests__/esp32c3-wifi-bluetooth.test.ts | 1 + 6 files changed, 6 insertions(+) diff --git a/frontend/src/__tests__/esp32-dht22-flow.test.ts b/frontend/src/__tests__/esp32-dht22-flow.test.ts index 8fbc67e7..30d7bfe4 100644 --- a/frontend/src/__tests__/esp32-dht22-flow.test.ts +++ b/frontend/src/__tests__/esp32-dht22-flow.test.ts @@ -58,6 +58,7 @@ vi.mock('../simulation/PinManager', () => ({ this.onPinChange = vi.fn().mockReturnValue(() => {}); this.onPwmChange = vi.fn().mockReturnValue(() => {}); this.getListenersCount = vi.fn().mockReturnValue(0); + this.hardResetPinStates = vi.fn(); this.updatePwm = vi.fn(); }), })); diff --git a/frontend/src/__tests__/esp32-integration.test.ts b/frontend/src/__tests__/esp32-integration.test.ts index 88d79716..2682b2a6 100644 --- a/frontend/src/__tests__/esp32-integration.test.ts +++ b/frontend/src/__tests__/esp32-integration.test.ts @@ -46,6 +46,7 @@ vi.mock('../simulation/PinManager', () => ({ this.updatePort = vi.fn(); this.onPinChange = vi.fn().mockReturnValue(() => {}); this.getListenersCount = vi.fn().mockReturnValue(0); + this.hardResetPinStates = vi.fn(); this.resetPinStates = vi.fn(); }), })); diff --git a/frontend/src/__tests__/esp32-servo-pot.test.ts b/frontend/src/__tests__/esp32-servo-pot.test.ts index 2446b474..63d604d2 100644 --- a/frontend/src/__tests__/esp32-servo-pot.test.ts +++ b/frontend/src/__tests__/esp32-servo-pot.test.ts @@ -70,6 +70,7 @@ vi.mock('../simulation/PinManager', () => ({ this.onPinChange = vi.fn().mockReturnValue(() => {}); this.onPwmChange = vi.fn().mockReturnValue(() => {}); this.getListenersCount = vi.fn().mockReturnValue(0); + this.hardResetPinStates = vi.fn(); this.updatePwm = vi.fn(); this.triggerPinChange = vi.fn(); }), diff --git a/frontend/src/__tests__/esp32-wifi-bluetooth.test.ts b/frontend/src/__tests__/esp32-wifi-bluetooth.test.ts index a2c05a15..9edc14c8 100644 --- a/frontend/src/__tests__/esp32-wifi-bluetooth.test.ts +++ b/frontend/src/__tests__/esp32-wifi-bluetooth.test.ts @@ -45,6 +45,7 @@ vi.mock('../simulation/PinManager', () => ({ this.updatePort = vi.fn(); this.onPinChange = vi.fn().mockReturnValue(() => {}); this.getListenersCount = vi.fn().mockReturnValue(0); + this.hardResetPinStates = vi.fn(); }), })); diff --git a/frontend/src/__tests__/esp32-wifi-webserver-integration.test.ts b/frontend/src/__tests__/esp32-wifi-webserver-integration.test.ts index 6aa0c066..7cac157b 100644 --- a/frontend/src/__tests__/esp32-wifi-webserver-integration.test.ts +++ b/frontend/src/__tests__/esp32-wifi-webserver-integration.test.ts @@ -47,6 +47,7 @@ vi.mock('../simulation/PinManager', () => ({ this.updatePort = vi.fn(); this.onPinChange = vi.fn().mockReturnValue(() => {}); this.getListenersCount = vi.fn().mockReturnValue(0); + this.hardResetPinStates = vi.fn(); }), })); diff --git a/frontend/src/__tests__/esp32c3-wifi-bluetooth.test.ts b/frontend/src/__tests__/esp32c3-wifi-bluetooth.test.ts index dcbb9e30..0af5fdd6 100644 --- a/frontend/src/__tests__/esp32c3-wifi-bluetooth.test.ts +++ b/frontend/src/__tests__/esp32c3-wifi-bluetooth.test.ts @@ -46,6 +46,7 @@ vi.mock('../simulation/PinManager', () => ({ this.updatePort = vi.fn(); this.onPinChange = vi.fn().mockReturnValue(() => {}); this.getListenersCount = vi.fn().mockReturnValue(0); + this.hardResetPinStates = vi.fn(); }), }));