-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathsynonyms_test.dart
87 lines (80 loc) · 2.3 KB
/
synonyms_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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import 'package:test/test.dart';
import 'package:mockito/mockito.dart';
import 'package:typesense/src/synonyms.dart';
import 'test_utils.mocks.dart';
void main() {
group('Synonyms', () {
late Synonyms synonyms;
late MockApiCall mock;
final multiwaySynonymMap = {
"synonyms": ["blazer", "coat", "jacket"]
},
oneWaySynonymMap = {
"root": "blazer",
"synonyms": ["coat", "jacket"]
};
setUp(() {
mock = MockApiCall();
synonyms = Synonyms(
'products',
mock,
);
});
test('upsert() calls ApiCall.put()', () async {
when(
mock.put('/collections/products/synonyms/customize-apple',
bodyParameters: oneWaySynonymMap),
).thenAnswer((realInvocation) => Future.value({
"id": "coat-synonyms",
"root": "blazer",
"synonyms": ["coat", "jacket"]
}));
expect(
await synonyms.upsert('customize-apple', oneWaySynonymMap),
equals({
"id": "coat-synonyms",
"root": "blazer",
"synonyms": ["coat", "jacket"]
}));
when(
mock.put('/collections/products/synonyms/customize-apple',
bodyParameters: multiwaySynonymMap),
).thenAnswer((realInvocation) => Future.value({
"id": "coat-synonyms",
"synonyms": ["blazer", "coat", "jacket"]
}));
expect(
await synonyms.upsert('customize-apple', multiwaySynonymMap),
equals({
"id": "coat-synonyms",
"synonyms": ["blazer", "coat", "jacket"]
}));
});
test('retrieve() calls ApiCall.get()', () async {
when(
mock.get(
'/collections/products/synonyms',
),
).thenAnswer((realInvocation) => Future.value({
"synonyms": [
{
"id": "coat-synonyms",
"root": "",
"synonyms": ["blazer", "coat", "jacket"]
}
]
}));
expect(
await synonyms.retrieve(),
equals({
"synonyms": [
{
"id": "coat-synonyms",
"root": "",
"synonyms": ["blazer", "coat", "jacket"]
}
]
}));
});
});
}