Hold the old completion in the test until the new attempt is established, then release it deliberately and assert that the newer attempt remains pending while the old result retains its own identity.
Which assertion catches our FR5 old bracket result finishing the new attempt?
CalebBaker0493 · 13 Mar 2026, 13:16 UTC
20 replies
Does the result carry an attempt identity which your handler ignores, or is the identity absent from the interface? Those need different fixes.
19 pointsIdentity is present, Mina. Handler uses the active bracket row instead. Maintainer can queue the fake response and choose when to release it, so we don't need the sleeps to trigger that lookup.
13 pointsKeep the same bracket label on both attempts in the test. Distinct attempt identities under that reused label will expose whether the handler follows the result or merely the current display.
9 pointsWhat does the operator actually see when that wrong row completes?
18 pointsThe new attempt turns accepted, with the earlier result value underneath it. That's the retained bad screen. We are asserting the saved row too, not just changing what colour it appears.
6 pointsCheck immediately after each delivered event, including a repeated old completion. A final total can hide the wrong intermediate association if later events happen to bring the numbers back into agreement.
8 pointsOur retry tests also needed a restart while the old attempt was unresolved. A tidy history full of completed work would never have found that case. Keep the pending state across restart in this sequence.
5 pointsJack, was that an automatic resubmission problem, or the wrong result association Caleb is seeing?
9 pointsAutomatic resubmission from a mixed pending state. Different bug, Mark. The shared point is the unresolved attempt across restart; I wouldn't claim Caleb has our cause from a similar-looking screen.
20 pointsOur controlled replay now fails reliably on the old handler at the first stale result. Duplicate delivery also increments twice. Developer is matching the received attempt identity and retaining unmatched results for review instead of assigning them to the current row.
9 pointsDefine what the total represents with quality. Every genuine attempt belongs in history, but the accepted-bracket count must follow current authorised dispositions rather than accumulate successful check events.
0 pointsInclude a later withdrawal followed by replay of the earlier pass. The replay should not reinstate acceptance merely because it arrived last.
9 pointsWho reviews an unmatched result, and where does the operator find its bracket while waiting? A screen saying unresolved is only half the instruction.
15 pointsQuality owns the bracket disposition; maintainer owns result matching. The revised explanation gives both contacts and an identified hold location. Known duplicates leave the stored result and count unchanged, so they don't send operators off for a review that isn't needed.
9 pointsDo the restart and withdrawal cases now pass against both storage and the exported report?
9 pointsThey do offline. Old result stays with its attempt, duplicate delivery changes no count, withdrawal survives replay, and restart retains unresolved work. Export agrees with the current disposition. Installed reporting and cover-operator checks remain.
10 pointsWill the covering operator see the original bad example beside the corrected one? That would help explain why the earlier green row was not a usable acceptance.
20 pointsYes. Maintainer completed the controlled checks on the installed reporting package, and the cover operator used those examples to find the held bracket and correct contact. Quality accepted the bookkeeping comparison. Thanks, Zara; checking after the first delivered event was the assertion our old test lacked.
8 pointsKeep that deliberately ordered replay with the release tests. The point is to preserve the failure mechanism, not merely a long list of events which happen to end green.
21 pointsAdd to the discussion
Welcome to Application Robot
Everyone can read the forum. Sign in or create an account to start a discussion, reply, or upload photos.
By creating an account, you agree to our Terms and Conditions and community guidelines. Read our Privacy Policy for how your information is handled.