Skip to content

Commit

Permalink
Merge pull request #28 from yihong1120/sweep/add-unit-test-for-launchUrl
Browse files Browse the repository at this point in the history
Add unit test for SocialService.launchUrl method
  • Loading branch information
yihong1120 authored Dec 30, 2023
2 parents 5248112 + ac0dffd commit 5108ff2
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions test/social_service_test.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:mockito/mockito.dart';
import 'package:traffic_report_front_flutter/services/social_service.dart';
import 'package:url_launcher/url_launcher.dart';

class MockUrlLauncher extends Mock implements UrlLauncher {}

void main() {
group('launchUrl', () {
final mockUrlLauncher = MockUrlLauncher();
final socialService = SocialService();

test('launches URL successfully', () async {
when(mockUrlLauncher.canLaunch(any)).thenAnswer((_) async => true);
when(mockUrlLauncher.launch(any)).thenAnswer((_) async => true);

expect(await socialService.launchUrl('http://valid.url'), completes);
});

test('throws an exception when URL cannot be launched', () async {
when(mockUrlLauncher.canLaunch(any)).thenAnswer((_) async => false);

expect(() async => await socialService.launchUrl('http://invalid.url'), throwsA(isA<Exception>()));
});
});
}

0 comments on commit 5108ff2

Please sign in to comment.