Skip to content

Commit cb9f6b2

Browse files
committed
v1.0.5+6
1 parent 553e710 commit cb9f6b2

File tree

2 files changed

+58
-1
lines changed

2 files changed

+58
-1
lines changed

central/ble_temperature/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: ble_temperature
22
description: A new Flutter project.
33
publish_to: 'none'
44

5-
version: 1.0.4+5
5+
version: 1.0.5+6
66

77
environment:
88
sdk: '>=3.0.5 <4.0.0'
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
import 'package:ble_temperature/src/bluetooth/domain/enums/enums.dart';
2+
import 'package:ble_temperature/src/bluetooth/domain/respositories/ble_repository.dart';
3+
import 'package:ble_temperature/src/bluetooth/domain/usecases/connect.dart';
4+
import 'package:ble_temperature/src/bluetooth/domain/value_objects/device_connection_state_update.dart';
5+
import 'package:flutter_test/flutter_test.dart';
6+
7+
import 'package:mockito/annotations.dart';
8+
import 'package:mockito/mockito.dart';
9+
10+
@GenerateNiceMocks([MockSpec<BleRepository>()])
11+
import 'connect_test.mocks.dart';
12+
13+
void main() {
14+
late Connect usecase;
15+
late MockBleRepository repository;
16+
17+
setUp(() {
18+
repository = MockBleRepository();
19+
usecase = Connect(repository);
20+
});
21+
22+
test('[Connect] should emit successfully [DeviceConnectionStateUpdate].',
23+
() async {
24+
const tUpdate = DeviceConnectionStateUpdate(
25+
deviceId: '',
26+
deviceConnectionState: DeviceConnectionState.connected,
27+
);
28+
29+
const params = ConnectParams(deviceId: '', timeout: Duration.zero);
30+
31+
when(
32+
repository.connectToDevice(
33+
deviceId: anyNamed('deviceId'),
34+
connectionTimeout: anyNamed('connectionTimeout'),
35+
),
36+
).thenAnswer((_) => Stream.value(tUpdate));
37+
38+
final result = usecase(params);
39+
40+
expect(
41+
result,
42+
emits(
43+
const DeviceConnectionStateUpdate(
44+
deviceId: '',
45+
deviceConnectionState: DeviceConnectionState.connected,
46+
),
47+
),
48+
);
49+
verify(
50+
repository.connectToDevice(
51+
deviceId: '',
52+
connectionTimeout: Duration.zero,
53+
),
54+
).called(1);
55+
verifyNoMoreInteractions(repository);
56+
});
57+
}

0 commit comments

Comments
 (0)