From 2eca1d303cf693decd550b3b1cd70831cf962a87 Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Wed, 3 Jun 2020 21:23:01 -0700 Subject: [PATCH] Use fake command in analytics test (#58544) --- .../test/general.shard/analytics_test.dart | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/packages/flutter_tools/test/general.shard/analytics_test.dart b/packages/flutter_tools/test/general.shard/analytics_test.dart index 76056f83fb..2c41ad150f 100644 --- a/packages/flutter_tools/test/general.shard/analytics_test.dart +++ b/packages/flutter_tools/test/general.shard/analytics_test.dart @@ -50,19 +50,23 @@ void main() { int count = 0; globals.flutterUsage.onSend.listen((Map data) => count++); + final FlutterCommand command = FakeFlutterCommand(); + final CommandRunnerrunner = createTestCommandRunner(command); + globals.flutterUsage.enabled = false; - await createProject(tempDir); + await runner.run(['fake']); expect(count, 0); globals.flutterUsage.enabled = true; - await createProject(tempDir); - expect(count, globals.flutterUsage.isFirstRun ? 0 : 4); + await runner.run(['fake']); + // LogToFileAnalytics isFirstRun is hardcoded to false + // so this usage will never act like the first run + // (which would not send usage). + expect(count, 4); count = 0; globals.flutterUsage.enabled = false; - final DoctorCommand doctorCommand = DoctorCommand(); - final CommandRunnerrunner = createTestCommandRunner(doctorCommand); - await runner.run(['doctor']); + await runner.run(['fake']); expect(count, 0); }, overrides: { @@ -363,6 +367,19 @@ Analytics throwingAnalyticsIOFactory( throw const FileSystemException('Could not create file'); } +class FakeFlutterCommand extends FlutterCommand { + @override + String get description => 'A fake command'; + + @override + String get name => 'fake'; + + @override + Future runCommand() async { + return FlutterCommandResult.success(); + } +} + class MockUsage extends Mock implements Usage {} class MockDoctor extends Mock implements Doctor {}