-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathsynonym_test.dart
44 lines (39 loc) · 1.11 KB
/
synonym_test.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import 'package:test/test.dart';
import 'package:mockito/mockito.dart';
import 'package:typesense/src/synonym.dart';
import 'test_utils.mocks.dart';
void main() {
group('Synonym', () {
late Synonym synonym;
late MockApiCall mock;
setUp(() {
mock = MockApiCall();
synonym = Synonym(
'products',
'coat-synonyms',
mock,
);
});
test('delete() calls ApiCall.delete()', () async {
when(
mock.delete(
'/collections/products/synonyms/coat-synonyms',
),
).thenAnswer((realInvocation) => Future.value({"id": "coat-synonyms"}));
expect(await synonym.delete(), equals({"id": "coat-synonyms"}));
});
test('retrieve() calls ApiCall.get()', () async {
final synonymMap = {
"id": "coat-synonyms",
"root": "",
"synonyms": ["blazer", "coat", "jacket"]
};
when(
mock.get(
'/collections/products/synonyms/coat-synonyms',
),
).thenAnswer((realInvocation) => Future.value(synonymMap));
expect(await synonym.retrieve(), equals(synonymMap));
});
});
}