[LLC] Fix reactions tests

Signed-off-by: Sahil Kumar <[email protected]>
This commit is contained in:
Sahil Kumar
2021-02-02 17:23:18 +05:30
parent 7d02187751
commit 0030de3dd6
2 changed files with 25 additions and 26 deletions
+14 -16
View File
@@ -329,11 +329,9 @@ class Channel {
_client.decode(res.data, SendReactionResponse.fromJson);
state?.addMessage(reactionResp.message);
return reactionResp;
} catch (error) {
if (error is DioError && error.type != DioErrorType.RESPONSE) {
// Reset the message if the update fails
state?.addMessage(message);
}
} catch (_) {
// Reset the message if the update fails
state?.addMessage(message);
rethrow;
}
}
@@ -341,14 +339,16 @@ class Channel {
/// Delete a reaction from this channel
Future<EmptyResponse> deleteReaction(
Message message, Reaction reaction) async {
_checkInitialized();
final type = reaction.type;
final reactionCounts = {...message.reactionCounts}
..update(type, (value) => value - 1);
final reactionScores = {...message.reactionScores}
..update(type, (value) => value - 1);
final reactionCounts = {...message.reactionCounts};
if (reactionCounts.containsKey(type)) {
reactionCounts.update(type, (value) => value - 1);
}
final reactionScores = {...message.reactionScores};
if (reactionScores.containsKey(type)) {
reactionScores.update(type, (value) => value - 1);
}
final removeWhere = (Reaction r) =>
r.userId == reaction.userId &&
@@ -368,11 +368,9 @@ class Channel {
final res = await client
.delete('/messages/${message.id}/reaction/${reaction.type}');
return _client.decode(res.data, EmptyResponse.fromJson);
} catch (error) {
if (error is DioError && error.type != DioErrorType.RESPONSE) {
// Reset the message if the update fails
state?.addMessage(message);
}
} catch (_) {
// Reset the message if the update fails
state?.addMessage(message);
rethrow;
}
}
@@ -396,6 +396,10 @@ void main() {
await channelClient.sendReaction(
Message(
id: 'messageid',
reactionCounts: const <String, int>{},
reactionScores: const <String, int>{},
latestReactions: const <Reaction>[],
ownReactions: const <Reaction>[],
),
reactionType,
);
@@ -421,20 +425,17 @@ void main() {
);
final channelClient = client.channel('messaging', id: 'testid');
when(mockDio.post<String>(
any,
data: anyNamed('data'),
)).thenAnswer((_) async => Response(
data: '{}',
statusCode: 200,
));
await channelClient.watch();
when(mockDio.delete<String>('/messages/messageid/reaction/test'))
.thenAnswer((_) async => Response(data: '{}', statusCode: 200));
await channelClient.deleteReaction(
Message(id: 'messageid'),
Message(
id: 'messageid',
reactionCounts: const <String, int>{},
reactionScores: const <String, int>{},
latestReactions: const <Reaction>[],
ownReactions: const <Reaction>[],
),
Reaction(type: 'test'),
);