Skip to content

Commit 7da9773

Browse files
committed
update
1 parent 1c7758c commit 7da9773

File tree

4 files changed

+55
-6
lines changed

4 files changed

+55
-6
lines changed
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import 'package:url_launcher/url_launcher.dart' as launcher;
22

33
abstract class LaunchUrlLocalDataSource {
4-
Future<void> launchUrl(String url);
4+
Future<bool> launchUrl(String url);
55
}
66

77
class LaunchUrlLocalDataSourceImpl implements LaunchUrlLocalDataSource {
88
@override
9-
Future<void> launchUrl(String url) async {
10-
await launcher.launchUrl(Uri.parse(url));
9+
Future<bool> launchUrl(String url) async {
10+
return launcher.launchUrl(Uri.parse(url));
1111
}
1212
}

central/ble_temperature/lib/src/about/data/repositories/launch_url_repositpory_impl.dart

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,13 @@ class LaunchUrlRepositoryImpl implements LaunchUrlRepository {
1111
@override
1212
ResultFuture<void> launchUrl(String url) async {
1313
try {
14-
await _localDataSource.launchUrl(url);
15-
return right(null);
14+
final result = await _localDataSource.launchUrl(url);
15+
16+
if (!result) {
17+
return right(null);
18+
}
19+
20+
throw Exception('Unexpected error.');
1621
} on Exception catch (e) {
1722
return left(LaunchUrlFailure(message: e.toString()));
1823
}

central/ble_temperature/test/src/bluetooth/data/datasources/ble_remote_data_source_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ void main() {
3434
test(
3535
'[BleRemoteDataSource.connectToDevice] emits '
3636
'[DeviceConnectionStateUpdate()]', () {
37-
when(ble.connectToDevice(id: any)).thenAnswer(
37+
when(ble.connectToDevice(id: anyNamed('id'))).thenAnswer(
3838
(_) => Stream.fromIterable([
3939
const reactive_ble.ConnectionStateUpdate(
4040
connectionState: reactive_ble.DeviceConnectionState.connected,
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import 'package:ble_temperature/src/about/data/datasources/app_info_local_data_source.dart';
2+
import 'package:ble_temperature/src/about/data/repositories/app_info_repository_impl.dart';
3+
import 'package:ble_temperature/src/about/domain/entities/app_info.dart';
4+
import 'package:ble_temperature/src/about/domain/repositories/app_info_repository.dart';
5+
import 'package:dartz/dartz.dart';
6+
import 'package:flutter_test/flutter_test.dart';
7+
8+
import 'package:mockito/annotations.dart';
9+
import 'package:mockito/mockito.dart';
10+
11+
@GenerateNiceMocks([MockSpec<AppInfoLocalDataSource>()])
12+
import 'app_info_repository_impl_test.mocks.dart';
13+
14+
void main() {
15+
late MockAppInfoLocalDataSource dataSource;
16+
late AppInfoRepositoryImpl repository;
17+
18+
setUp(() {
19+
dataSource = MockAppInfoLocalDataSource();
20+
repository = AppInfoRepositoryImpl(dataSource);
21+
});
22+
23+
test(
24+
'[AppInfoRepositoryImpl]'
25+
'should be a subclass of [AppInfoRepository].', () async {
26+
expect(repository, isA<AppInfoRepository>());
27+
});
28+
29+
test('description', () async {
30+
const tInfo = AppInfo(
31+
appName: 'appName',
32+
packageName: 'packageName',
33+
version: '1',
34+
buildNumber: 'buildNumber',
35+
);
36+
37+
when(dataSource.getInfo()).thenAnswer(
38+
(_) async => tInfo,
39+
);
40+
41+
final result = await repository.getInfo();
42+
expect(result, const Right<AppInfo, dynamic>(tInfo));
43+
});
44+
}

0 commit comments

Comments
 (0)