From 56bce0957cc9d9257cf0bb8f182e7c541bbdde78 Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Sat, 26 Jun 2021 12:41:52 +0200 Subject: [PATCH] fix payload and improve tests --- .../lib/src/core/api/general_api.dart | 3 +- .../test/src/core/api/general_api_test.dart | 44 ++++++++++++++----- 2 files changed, 36 insertions(+), 11 deletions(-) diff --git a/packages/stream_chat/lib/src/core/api/general_api.dart b/packages/stream_chat/lib/src/core/api/general_api.dart index 8eeeaa5f..c6243148 100644 --- a/packages/stream_chat/lib/src/core/api/general_api.dart +++ b/packages/stream_chat/lib/src/core/api/general_api.dart @@ -79,16 +79,17 @@ class GeneralApi { queryParameters: { 'payload': jsonEncode({ 'type': channelType, + 'filter_conditions': filter ?? {}, if (channelId != null) 'id': channelId else if (members != null) 'members': members, if (sort != null) 'sort': sort, - if (filter != null) 'filter': filter, if (pagination != null) ...pagination.toJson(), }), }, ); + return QueryMembersResponse.fromJson(response.data); } } diff --git a/packages/stream_chat/test/src/core/api/general_api_test.dart b/packages/stream_chat/test/src/core/api/general_api_test.dart index 8844262f..bf7a3018 100644 --- a/packages/stream_chat/test/src/core/api/general_api_test.dart +++ b/packages/stream_chat/test/src/core/api/general_api_test.dart @@ -1,3 +1,5 @@ +import 'dart:convert'; + import 'package:dio/dio.dart'; import 'package:mocktail/mocktail.dart'; import 'package:stream_chat/src/core/api/general_api.dart'; @@ -149,11 +151,22 @@ void main() { (index) => Member(userId: 'test-user-id=$index'), ); - when(() => - client.get(path, queryParameters: any(named: 'queryParameters'))) - .thenAnswer((_) async => successResponse(path, data: { - 'members': [...members.map((it) => it.toJson())] - })); + final payload = jsonEncode({ + 'type': channelType, + 'filter_conditions': filter, + '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( channelType, @@ -185,11 +198,22 @@ void main() { (index) => Member(userId: 'test-user-id=$index'), ); - when(() => - client.get(path, queryParameters: any(named: 'queryParameters'))) - .thenAnswer((_) async => successResponse(path, data: { - 'members': [...members.map((it) => it.toJson())] - })); + final payload = jsonEncode({ + 'type': channelType, + 'filter_conditions': filter, + '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( channelType,