-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathstats_test.dart
43 lines (37 loc) · 1003 Bytes
/
stats_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
import 'package:test/test.dart';
import 'package:mockito/mockito.dart';
import 'package:typesense/src/stats.dart';
import 'test_utils.mocks.dart';
void main() {
late Stats metrics;
late MockApiCall mock;
final map = {
"latency_ms": {
"GET /collections/products": 0.0,
"POST /collections": 4.0,
"POST /collections/products/documents/import": 1166.0
},
"requests_per_second": {
"GET /collections/products": 0.1,
"POST /collections": 0.1,
"POST /collections/products/documents/import": 0.1
}
};
setUp(() {
mock = MockApiCall();
metrics = Stats(mock);
});
group('Metrics', () {
test('has a resourcepath', () {
expect(Stats.resourcepath, equals('/stats.json'));
});
test('retrieve() calls ApiCall.get()', () async {
when(
mock.get(
'/stats.json',
),
).thenAnswer((realInvocation) => Future.value(map));
expect(await metrics.retrieve(), equals(map));
});
});
}