I am testing the coupon-status display while the cell is unavailable. The substitute returns true for everything, including a deliberately broken query. The screen passes the coupon because it never sees a real response shape.
I want the test to exercise our normal parser and display. It is currently an impressive demonstration of avoiding both.
Which documented query and SDK version should it represent? Start there, then feed distinct recorded response cases through the same parser the live screen uses. A fake that politely agrees with a broken call is not helping you.
Maintenance identified the installed version and query contract. Our fake had bypassed the parser entirely and supplied an already interpreted pass. That shortcut is removed from the test path.
Make the successful fields deliberately different. If coupon identity and result both look like convenient ones and zeros, the parser can read the wrong thing and still win the test.
It displayed the previous default pass at startup. We now expect unavailable until a valid response arrives. An explicit failed-response case also exposed the parser treating a nonempty error response as success.
Yes, test Dinesh's two cases separately. One is an inspection outcome and the other is a read problem. The caller needs to know which conversation to have.
Separate cases now. The screen shows the valid rejection against its coupon, and a read failure completes no inspection. It retains a previous valid observation only with its original identity and time.
That test found the display applying the result to the selected coupon. Corrected it to preserve the response identity; the selected coupon stays waiting when the other coupon's result arrives.
No, export already used the response identity. We now assert it alongside the screen. All defined offline cases pass; comparison with the installed interface remains for the unavailable cell's return.