| a category this build does not know falls back rather than failing |
a category this build does not know falls back rather than failing |
1 |
0 |
0 |
0.007s |
100% |
| a conflict is now an ordinary failure, not a refusal |
a conflict is now an ordinary failure, not a refusal |
1 |
0 |
0 |
0.012s |
100% |
| a failed addition is false, so the person keeps their words and can retry |
a failed addition is false, so the person keeps their words and can retry |
1 |
0 |
0 |
0.011s |
100% |
| a failed lookup is null rather than an empty list |
a failed lookup is null rather than an empty list |
1 |
0 |
0 |
0.013s |
100% |
| a missing count is null rather than the number of rows |
a missing count is null rather than the number of rows |
1 |
0 |
0 |
0.010s |
100% |
| a network error is a plain failure, not a crash |
a network error is a plain failure, not a crash |
1 |
0 |
0 |
0.012s |
100% |
| a network failure requesting an upload URL is null, not a crash |
a network failure requesting an upload URL is null, not a crash |
1 |
0 |
0 |
0.011s |
100% |
| a non-JSON success body is a failure, not a crash |
a non-JSON success body is a failure, not a crash |
1 |
0 |
0 |
0.008s |
100% |
| a raised ticket returns its id |
a raised ticket returns its id |
1 |
0 |
0 |
0.011s |
100% |
| a refused upload URL is null, not an empty handle |
a refused upload URL is null, not an empty handle |
1 |
0 |
0 |
0.010s |
100% |
| a success carrying no ticket id is a failure, not a silent success |
a success carrying no ticket id is a failure, not a silent success |
1 |
0 |
0 |
0.009s |
100% |
| a ticket with no id is dropped rather than offered as an unusable choice |
a ticket with no id is dropped rather than offered as an unusable choice |
1 |
0 |
0 |
0.010s |
100% |
| adding to a ticket posts the words to that ticket |
adding to a ticket posts the words to that ticket |
1 |
0 |
0 |
0.030s |
100% |
| an upload handle is read from the server response |
an upload handle is read from the server response |
1 |
0 |
0 |
0.016s |
100% |
| another status is a plain failure |
another status is a plain failure |
1 |
0 |
0 |
0.007s |
100% |
| attachment keys are sent with the ticket |
attachment keys are sent with the ticket |
1 |
0 |
0 |
0.008s |
100% |
| cancelling the send is not reported as a failure |
cancelling the send is not reported as a failure |
1 |
0 |
0 |
0.010s |
100% |
| context always carries the platform and app version, even with no entry-point context |
context always carries the platform and app version, even with no entry-point context |
1 |
0 |
0 |
0.013s |
100% |
| no attachments means no attachments field |
no attachments means no attachments field |
1 |
0 |
0 |
0.009s |
100% |
| no category means no category field, rather than a guessed default |
no category means no category field, rather than a guessed default |
1 |
0 |
0 |
0.017s |
100% |
| nothing open is an empty list, not null |
nothing open is an empty list, not null |
1 |
0 |
0 |
0.073s |
100% |
| open tickets come back with the words that make them recognisable |
open tickets come back with the words that make them recognisable |
1 |
0 |
0 |
0.016s |
100% |
| the category and context are sent in the body |
the category and context are sent in the body |
1 |
0 |
0 |
0.011s |
100% |
| the content type is sent so the signature matches the upload |
the content type is sent so the signature matches the upload |
1 |
0 |
0 |
0.013s |
100% |
| the entry point's context is preserved alongside the platform fields |
the entry point's context is preserved alongside the platform fields |
1 |
0 |
0 |
0.019s |
100% |
| the open COUNT is read from the server, not from the list length |
the open COUNT is read from the server, not from the list length |
1 |
0 |
0 |
0.013s |
100% |