diff --git a/packages/shorebird_cli/lib/src/commands/init_command.dart b/packages/shorebird_cli/lib/src/commands/init_command.dart index 4276d2f4..e93cd419 100644 --- a/packages/shorebird_cli/lib/src/commands/init_command.dart +++ b/packages/shorebird_cli/lib/src/commands/init_command.dart @@ -69,9 +69,12 @@ If you want to reinitialize Shorebird, please run "shorebird init --force".'''); } var productFlavors = {}; + final detectFlavorsProgress = logger.progress('Detecting product flavors'); try { productFlavors = await extractProductFlavors(Directory.current.path); + detectFlavorsProgress.complete(); } catch (error) { + detectFlavorsProgress.fail(); logger.detail('Unable to extract product flavors: $error'); } diff --git a/packages/shorebird_cli/test/src/commands/init_command_test.dart b/packages/shorebird_cli/test/src/commands/init_command_test.dart index fdcf6da0..773d59de 100644 --- a/packages/shorebird_cli/test/src/commands/init_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/init_command_test.dart @@ -22,6 +22,8 @@ class _MockCodePushClient extends Mock implements CodePushClient {} class _MockLogger extends Mock implements Logger {} +class _MockProgress extends Mock implements Progress {} + class _MockProcess extends Mock implements ShorebirdProcess {} class _MockProcessResult extends Mock implements ShorebirdProcessResult {} @@ -48,6 +50,7 @@ environment: late ShorebirdProcessResult result; late CodePushClient codePushClient; late Logger logger; + late Progress progress; late InitCommand command; setUp(() { @@ -58,6 +61,7 @@ environment: result = _MockProcessResult(); codePushClient = _MockCodePushClient(); logger = _MockLogger(); + progress = _MockProgress(); command = InitCommand( auth: auth, buildCodePushClient: ({ @@ -83,6 +87,7 @@ environment: when( () => logger.prompt(any(), defaultValue: any(named: 'defaultValue')), ).thenReturn(appName); + when(() => logger.progress(any())).thenReturn(progress); when( () => process.run( any(), @@ -317,6 +322,7 @@ If you want to reinitialize Shorebird, please run "shorebird init --force".''', command.run, getCurrentDirectory: () => tempDir, ); + verify(() => logger.progress('Detecting product flavors')).called(1); verify( () => logger.detail( 'Unable to extract product flavors: Exception: error\noops',