| addGroupParticipant returns Success |
addGroupParticipant returns Success |
1 |
0 |
0 |
0.015s |
100% |
| closeGroupConversation returns Error on exception |
closeGroupConversation returns Error on exception |
1 |
0 |
0 |
0.063s |
100% |
| closeGroupConversation returns Success |
closeGroupConversation returns Success |
1 |
0 |
0 |
0.161s |
100% |
| createGroupConversation calls update once per extra participant (one-at-a-time growth) |
createGroupConversation calls update once per extra participant (one-at-a-time growth) |
1 |
0 |
0 |
0.090s |
100% |
| createGroupConversation deduplicates creator from the extra-participants loop |
createGroupConversation deduplicates creator from the extra-participants loop |
1 |
0 |
0 |
0.611s |
100% |
| createGroupConversation initial create writes participantIds with only creatorId (UK OSA PR 8 size-1 rule) |
createGroupConversation initial create writes participantIds with only creatorId (UK OSA PR 8 size-1 rule) |
1 |
0 |
0 |
0.037s |
100% |
| createGroupConversation per-participant add failure does not abort the call |
createGroupConversation per-participant add failure does not abort the call |
1 |
0 |
0 |
0.036s |
100% |
| createGroupConversation returns Success |
createGroupConversation returns Success |
1 |
0 |
0 |
0.044s |
100% |
| createGroupConversation stamps cohort field on the doc (UK OSA PR 8 rules bind) |
createGroupConversation stamps cohort field on the doc (UK OSA PR 8 rules bind) |
1 |
0 |
0 |
0.067s |
100% |
| editMessage returns Error on exception |
editMessage returns Error on exception |
1 |
0 |
0 |
0.043s |
100% |
| editMessage returns Success |
editMessage returns Success |
1 |
0 |
0 |
0.063s |
100% |
| getConversations ignores a null snapshot and keeps listening |
getConversations ignores a null snapshot and keeps listening |
1 |
0 |
0 |
0.362s |
100% |
| getConversations propagates a listener error via close |
getConversations propagates a listener error via close |
1 |
0 |
0 |
0.136s |
100% |
| getConversations queries participantIds with a String uid and maps documents |
getConversations queries participantIds with a String uid and maps documents |
1 |
0 |
0 |
0.116s |
100% |
| getConversations removes the listener after an error close |
getConversations removes the listener after an error close |
1 |
0 |
0 |
0.410s |
100% |
| getMessages emits empty list and logs when listener receives error |
getMessages emits empty list and logs when listener receives error |
1 |
0 |
0 |
0.083s |
100% |
| getOrCreateConversation returns Error on exception |
getOrCreateConversation returns Error on exception |
1 |
0 |
0 |
0.111s |
100% |
| getOrCreateConversation returns Success when creating new |
getOrCreateConversation returns Success when creating new |
1 |
0 |
0 |
0.110s |
100% |
| getOrCreateConversation returns Success when existing |
getOrCreateConversation returns Success when existing |
1 |
0 |
0 |
0.040s |
100% |
| getOrCreateConversation stores participantIds as String values |
getOrCreateConversation stores participantIds as String values |
1 |
0 |
0 |
0.031s |
100% |
| getOrCreateConversation stores participantIds sorted regardless of argument order |
getOrCreateConversation stores participantIds sorted regardless of argument order |
1 |
0 |
0 |
0.053s |
100% |
| hideConversation returns Success |
hideConversation returns Success |
1 |
0 |
0 |
0.057s |
100% |
| hideMessage returns Success |
hideMessage returns Success |
1 |
0 |
0 |
0.042s |
100% |
| markAsRead returns Success |
markAsRead returns Success |
1 |
0 |
0 |
0.037s |
100% |
| muteConversation returns Success |
muteConversation returns Success |
1 |
0 |
0 |
0.060s |
100% |
| muteGroupMember returns Success |
muteGroupMember returns Success |
1 |
0 |
0 |
0.066s |
100% |
| pinConversation returns Success |
pinConversation returns Success |
1 |
0 |
0 |
0.064s |
100% |
| prefetchConversations does not query Firestore when currentUserId is null |
prefetchConversations does not query Firestore when currentUserId is null |
1 |
0 |
0 |
0.053s |
100% |
| prefetchConversations populates the cache which getConversations replays first |
prefetchConversations populates the cache which getConversations replays first |
1 |
0 |
0 |
0.089s |
100% |
| prefetchConversations queries participantIds with a String uid |
prefetchConversations queries participantIds with a String uid |
1 |
0 |
0 |
0.107s |
100% |
| prefetchConversations swallows a Firestore exception and leaves the cache null |
prefetchConversations swallows a Firestore exception and leaves the cache null |
1 |
0 |
0 |
0.110s |
100% |
| recallMessage returns Success |
recallMessage returns Success |
1 |
0 |
0 |
0.048s |
100% |
| removeGroupParticipant returns Success |
removeGroupParticipant returns Success |
1 |
0 |
0 |
0.053s |
100% |
| resetUnreadCount returns Success |
resetUnreadCount returns Success |
1 |
0 |
0 |
0.063s |
100% |
| sendImageMessage returns Success |
sendImageMessage returns Success |
1 |
0 |
0 |
0.016s |
100% |
| sendRoomInviteMessage returns Success |
sendRoomInviteMessage returns Success |
1 |
0 |
0 |
0.028s |
100% |
| sendStickerMessage returns Success |
sendStickerMessage returns Success |
1 |
0 |
0 |
0.054s |
100% |
| sendTextMessage returns Error on exception |
sendTextMessage returns Error on exception |
1 |
0 |
0 |
0.065s |
100% |
| sendTextMessage returns Success |
sendTextMessage returns Success |
1 |
0 |
0 |
0.080s |
100% |
| toggleReaction returns Success |
toggleReaction returns Success |
1 |
0 |
0 |
0.063s |
100% |
| transferOwnership returns Success |
transferOwnership returns Success |
1 |
0 |
0 |
0.042s |
100% |
| unmuteGroupMember returns Success |
unmuteGroupMember returns Success |
1 |
0 |
0 |
0.062s |
100% |
| updateGroupName returns Success |
updateGroupName returns Success |
1 |
0 |
0 |
0.061s |
100% |
| updateGroupRoles returns Success |
updateGroupRoles returns Success |
1 |
0 |
0 |
0.090s |
100% |