Параметр body
{"email": "test@test.com", "password": "Test@123"}
в mockClient.post()
во время создания заглушки не совпадает с параметром, передаваемым в client.post()
в SigninDataSource
.
Если вы проверяете строку, переданную в client.post()
От
final result = await client.post(url, body: json.encode(body), headers: {
"content-type": "application/json",
});
до
var encodedBody = json.encode(body);
final result = await client.post(url, body: encodedBody, headers: {
"content-type": "application/json",
});
Значение encodedBody
равно {"email":"test@test.com","password":"Test@123"}
. Обратите внимание, что пробелов нет.
Вы также можете изменить эту заглушку, если хотите игнорировать значение передаваемых параметров, поскольку вам нужен только ответ об успешном завершении. Вы будете использовать anyNamed('paramName')
.
when(mockClient.post("https://test/test/signin",
body: anyNamed('body'),
headers: anyNamed('headers')))
.thenAnswer((_) async => http.Response('{"status": 200}', 200));