I watched our read-only FR5 dashboard pass its offline checks even after the developer changed an argument to one the interface does not accept, because the mock returns true for everything; could we use our saved responses to test the actual parsing and display behaviour while the cell is unavailable?
We have saved success and failure responses from the installed version, with the method and arguments recorded, so the developer is replacing the catch-all mock with those cases first.
Test what the display does after a good response is followed by a failed one. The parser can report failure correctly while the screen still shows the last value as current. Our trainees trust what they can see.
Aisha, the invalid call fails now; David, your sequence exposed the old value staying current, and the developer is changing that display behaviour rather than replacing the failed response with a convenient default.
Keep the last observation time with any historical value. A refresh time beside an old reading can make it appear newly confirmed, even after the colour has changed.
Which parts of the new substitute come from saved responses and which are deliberately malformed test cases? I would name that difference so nobody mistakes an invented error case for a controller observation.
Jonas, captured examples keep their source version and the synthetic malformed cases are labelled separately; failed and missing data now show unavailable, with historical values retaining their observation time, and those offline checks pass, though the real-interface comparison is still waiting for the cell.