fix payload and improve tests

This commit is contained in:
Salvatore Giordano
2021-06-26 12:41:52 +02:00
parent 367ffe9f5d
commit 56bce0957c
2 changed files with 36 additions and 11 deletions
@@ -79,16 +79,17 @@ class GeneralApi {
queryParameters: { queryParameters: {
'payload': jsonEncode({ 'payload': jsonEncode({
'type': channelType, 'type': channelType,
'filter_conditions': filter ?? {},
if (channelId != null) if (channelId != null)
'id': channelId 'id': channelId
else if (members != null) else if (members != null)
'members': members, 'members': members,
if (sort != null) 'sort': sort, if (sort != null) 'sort': sort,
if (filter != null) 'filter': filter,
if (pagination != null) ...pagination.toJson(), if (pagination != null) ...pagination.toJson(),
}), }),
}, },
); );
return QueryMembersResponse.fromJson(response.data); return QueryMembersResponse.fromJson(response.data);
} }
} }
@@ -1,3 +1,5 @@
import 'dart:convert';
import 'package:dio/dio.dart'; import 'package:dio/dio.dart';
import 'package:mocktail/mocktail.dart'; import 'package:mocktail/mocktail.dart';
import 'package:stream_chat/src/core/api/general_api.dart'; import 'package:stream_chat/src/core/api/general_api.dart';
@@ -149,11 +151,22 @@ void main() {
(index) => Member(userId: 'test-user-id=$index'), (index) => Member(userId: 'test-user-id=$index'),
); );
when(() => final payload = jsonEncode({
client.get(path, queryParameters: any(named: 'queryParameters'))) 'type': channelType,
.thenAnswer((_) async => successResponse(path, data: { 'filter_conditions': filter,
'members': [...members.map((it) => it.toJson())] 'id': channelId,
})); 'sort': sort,
...pagination.toJson(),
});
when(() => client.get(
path,
queryParameters: {
'payload': payload,
},
)).thenAnswer((_) async => successResponse(path, data: {
'members': [...members.map((it) => it.toJson())]
}));
final res = await generalApi.queryMembers( final res = await generalApi.queryMembers(
channelType, channelType,
@@ -185,11 +198,22 @@ void main() {
(index) => Member(userId: 'test-user-id=$index'), (index) => Member(userId: 'test-user-id=$index'),
); );
when(() => final payload = jsonEncode({
client.get(path, queryParameters: any(named: 'queryParameters'))) 'type': channelType,
.thenAnswer((_) async => successResponse(path, data: { 'filter_conditions': filter,
'members': [...members.map((it) => it.toJson())] 'members': members,
})); 'sort': sort,
...pagination.toJson(),
});
when(() => client.get(
path,
queryParameters: {
'payload': payload,
},
)).thenAnswer((_) async => successResponse(path, data: {
'members': [...members.map((it) => it.toJson())]
}));
final res = await generalApi.queryMembers( final res = await generalApi.queryMembers(
channelType, channelType,