Challenge 3: A Personal Reflection — Possible Solution ==================================================================== (This is a personal-reflection challenge — there's no single correct answer. Below is one reasonable example response.) THE HABIT: resetting MSW handlers with afterEach(() => server.resetHandlers()) after using server.use() to override a handler for a single test (Chapter 6). WHAT WOULD HAVE GONE WRONG WITHOUT IT: before this course, my instinct would have been to write a test simulating a failed request by calling server.use() right inside that one test, get it passing, and move on — without thinking about what happens to that override afterward. In a growing test file, that override would silently persist into every later test in the same file, since MSW handlers registered via server.use() aren't automatically undone. The next developer to add a perfectly ordinary "successful login" test right after my error- simulating one would watch it fail for what looks like no reason — the request would still be hitting my leftover error handler, not theirs. Diagnosing that kind of failure is genuinely nasty specifically because the actual mistake (a missing reset, made by someone editing a DIFFERENT, earlier test) is nowhere near the test that's actually failing. Chapter 6's explicit callback to Chapter 2's test-isolation principle — treating "reset shared state between tests" as a rule that applies to network mocks just as much as to plain variables — is the piece I'm confident I would have missed on my own, since it's not an obvious consequence of how server.use() is introduced in most MSW documentation examples, which tend to show it in isolation without emphasizing the cleanup step.