From a99a92ee52361c7bcd1a61349aa9a1fbafdaa0fc Mon Sep 17 00:00:00 2001 From: Alejandro Santiago Date: Wed, 28 Jun 2023 11:55:52 +0100 Subject: [PATCH 1/8] fix: remove usage dependencies --- lib/src/command_runner.dart | 1 - lib/src/commands/create/commands/create_subcommand.dart | 1 - lib/src/commands/create/create.dart | 1 - pubspec.yaml | 1 - test/src/command_runner_test.dart | 1 - 5 files changed, 5 deletions(-) diff --git a/lib/src/command_runner.dart b/lib/src/command_runner.dart index 06fada39..f5c3fdf5 100644 --- a/lib/src/command_runner.dart +++ b/lib/src/command_runner.dart @@ -3,7 +3,6 @@ import 'package:args/command_runner.dart'; import 'package:cli_completion/cli_completion.dart'; import 'package:mason/mason.dart' hide packageVersion; import 'package:pub_updater/pub_updater.dart'; -import 'package:usage/usage_io.dart'; import 'package:very_good_cli/src/commands/commands.dart'; import 'package:very_good_cli/src/version.dart'; diff --git a/lib/src/commands/create/commands/create_subcommand.dart b/lib/src/commands/create/commands/create_subcommand.dart index 38d84b15..2d009382 100644 --- a/lib/src/commands/create/commands/create_subcommand.dart +++ b/lib/src/commands/create/commands/create_subcommand.dart @@ -6,7 +6,6 @@ import 'package:args/command_runner.dart'; import 'package:mason/mason.dart'; import 'package:meta/meta.dart'; import 'package:path/path.dart' as path; -import 'package:usage/usage_io.dart'; import 'package:very_good_cli/src/command_runner.dart'; import 'package:very_good_cli/src/commands/commands.dart'; import 'package:very_good_cli/src/commands/create/templates/templates.dart'; diff --git a/lib/src/commands/create/create.dart b/lib/src/commands/create/create.dart index afb56770..21981554 100644 --- a/lib/src/commands/create/create.dart +++ b/lib/src/commands/create/create.dart @@ -1,6 +1,5 @@ import 'package:args/command_runner.dart'; import 'package:mason/mason.dart'; -import 'package:usage/usage_io.dart'; import 'package:very_good_cli/src/commands/create/commands/commands.dart'; /// {@template create_command} diff --git a/pubspec.yaml b/pubspec.yaml index 659aff42..f3732ffa 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -20,7 +20,6 @@ dependencies: pubspec_parse: ^1.2.0 stack_trace: ^1.10.0 universal_io: ^2.0.4 - usage: ^4.0.2 very_good_test_runner: ^0.1.2 dev_dependencies: diff --git a/test/src/command_runner_test.dart b/test/src/command_runner_test.dart index 8fa65dfb..7d940383 100644 --- a/test/src/command_runner_test.dart +++ b/test/src/command_runner_test.dart @@ -7,7 +7,6 @@ import 'package:mason/mason.dart' hide packageVersion; import 'package:mocktail/mocktail.dart'; import 'package:pub_updater/pub_updater.dart'; import 'package:test/test.dart'; -import 'package:usage/usage_io.dart'; import 'package:very_good_cli/src/command_runner.dart'; import 'package:very_good_cli/src/version.dart'; From 82749e05c6e1b850e1f498ef662f59bfebf1ac84 Mon Sep 17 00:00:00 2001 From: Alejandro Santiago Date: Wed, 28 Jun 2023 12:41:55 +0100 Subject: [PATCH 2/8] feat: removed analytics from source --- lib/src/command_runner.dart | 47 +------------------ .../create/commands/create_subcommand.dart | 14 +----- .../commands/create/commands/dart_cli.dart | 1 - .../create/commands/dart_package.dart | 1 - .../commands/create/commands/docs_site.dart | 1 - .../commands/create/commands/flame_game.dart | 1 - .../commands/create/commands/flutter_app.dart | 1 - .../create/commands/flutter_package.dart | 1 - .../create/commands/flutter_plugin.dart | 1 - lib/src/commands/create/create.dart | 8 ---- 10 files changed, 2 insertions(+), 74 deletions(-) diff --git a/lib/src/command_runner.dart b/lib/src/command_runner.dart index f5c3fdf5..ede72f90 100644 --- a/lib/src/command_runner.dart +++ b/lib/src/command_runner.dart @@ -6,12 +6,6 @@ import 'package:pub_updater/pub_updater.dart'; import 'package:very_good_cli/src/commands/commands.dart'; import 'package:very_good_cli/src/version.dart'; -// The Google Analytics tracking ID. -const _gaTrackingId = 'UA-117465969-4'; - -// The Google Analytics Application Name. -const _gaAppName = 'very-good-cli'; - /// The package name. const packageName = 'very_good_cli'; @@ -21,12 +15,9 @@ const packageName = 'very_good_cli'; class VeryGoodCommandRunner extends CompletionCommandRunner { /// {@macro very_good_command_runner} VeryGoodCommandRunner({ - Analytics? analytics, Logger? logger, PubUpdater? pubUpdater, }) : _logger = logger ?? Logger(), - _analytics = - analytics ?? AnalyticsIO(_gaTrackingId, _gaAppName, packageVersion), _pubUpdater = pubUpdater ?? PubUpdater(), super('very_good', '🦄 A Very Good Command-Line Interface') { argParser @@ -35,20 +26,11 @@ class VeryGoodCommandRunner extends CompletionCommandRunner { negatable: false, help: 'Print the current version.', ) - ..addOption( - 'analytics', - help: 'Toggle anonymous usage statistics.', - allowed: ['true', 'false'], - allowedHelp: { - 'true': 'Enable anonymous usage statistics', - 'false': 'Disable anonymous usage statistics', - }, - ) ..addFlag( 'verbose', help: 'Noisy logging, including all shell commands executed.', ); - addCommand(CreateCommand(analytics: _analytics, logger: _logger)); + addCommand(CreateCommand(logger: _logger)); addCommand(PackagesCommand(logger: _logger)); addCommand(TestCommand(logger: _logger)); addCommand(UpdateCommand(logger: _logger, pubUpdater: pubUpdater)); @@ -58,7 +40,6 @@ class VeryGoodCommandRunner extends CompletionCommandRunner { static const timeout = Duration(milliseconds: 500); final Logger _logger; - final Analytics _analytics; final PubUpdater _pubUpdater; @override @@ -67,23 +48,6 @@ class VeryGoodCommandRunner extends CompletionCommandRunner { @override Future run(Iterable args) async { try { - if (_analytics.firstRun) { - final response = _logger.prompt( - lightGray.wrap( - ''' -+---------------------------------------------------+ -| Welcome to the Very Good CLI! | -+---------------------------------------------------+ -| We would like to collect anonymous | -| usage statistics in order to improve the tool. | -| Would you like to opt-into help us improve? [y/n] | -+---------------------------------------------------+\n''', - ), - ); - final normalizedResponse = response.toLowerCase().trim(); - _analytics.enabled = - normalizedResponse == 'y' || normalizedResponse == 'yes'; - } final argResults = parse(args); if (argResults['verbose'] == true) { @@ -138,19 +102,10 @@ class VeryGoodCommandRunner extends CompletionCommandRunner { } } - if (_analytics.enabled) { - _logger.detail('Running with analytics enabled.'); - } - int? exitCode = ExitCode.unavailable.code; if (topLevelResults['version'] == true) { _logger.info(packageVersion); exitCode = ExitCode.success.code; - } else if (topLevelResults['analytics'] != null) { - final optIn = topLevelResults['analytics'] == 'true'; - _analytics.enabled = optIn; - _logger.info('analytics ${_analytics.enabled ? 'enabled' : 'disabled'}.'); - exitCode = ExitCode.success.code; } else { exitCode = await super.runCommand(topLevelResults); } diff --git a/lib/src/commands/create/commands/create_subcommand.dart b/lib/src/commands/create/commands/create_subcommand.dart index 2d009382..444de32c 100644 --- a/lib/src/commands/create/commands/create_subcommand.dart +++ b/lib/src/commands/create/commands/create_subcommand.dart @@ -49,12 +49,10 @@ typedef MasonGeneratorFromBrick = Future Function(Brick); abstract class CreateSubCommand extends Command { /// {@macro create_subcommand} CreateSubCommand({ - required Analytics analytics, required this.logger, required MasonGeneratorFromBundle? generatorFromBundle, required MasonGeneratorFromBrick? generatorFromBrick, - }) : _analytics = analytics, - _generatorFromBundle = generatorFromBundle ?? MasonGenerator.fromBundle, + }) : _generatorFromBundle = generatorFromBundle ?? MasonGenerator.fromBundle, _generatorFromBrick = generatorFromBrick ?? MasonGenerator.fromBrick { argParser ..addOption( @@ -109,8 +107,6 @@ abstract class CreateSubCommand extends Command { } } - final Analytics _analytics; - /// The logger user to notify the user of the command's progress. final Logger logger; final MasonGeneratorFromBundle _generatorFromBundle; @@ -198,14 +194,6 @@ abstract class CreateSubCommand extends Command { final generator = await _getGeneratorForTemplate(); final result = await runCreate(generator, template); - unawaited( - _analytics.sendEvent( - 'create $name', - generator.id, - label: generator.description, - ), - ); - await _analytics.waitForLastPing(timeout: VeryGoodCommandRunner.timeout); return result; } diff --git a/lib/src/commands/create/commands/dart_cli.dart b/lib/src/commands/create/commands/dart_cli.dart index 489179d9..2628fd13 100644 --- a/lib/src/commands/create/commands/dart_cli.dart +++ b/lib/src/commands/create/commands/dart_cli.dart @@ -7,7 +7,6 @@ import 'package:very_good_cli/src/commands/create/templates/templates.dart'; class CreateDartCLI extends CreateSubCommand with Publishable { /// {@macro very_good_create_dart_cli_command} CreateDartCLI({ - required super.analytics, required super.logger, required super.generatorFromBundle, required super.generatorFromBrick, diff --git a/lib/src/commands/create/commands/dart_package.dart b/lib/src/commands/create/commands/dart_package.dart index 38a521de..49fa4b92 100644 --- a/lib/src/commands/create/commands/dart_package.dart +++ b/lib/src/commands/create/commands/dart_package.dart @@ -7,7 +7,6 @@ import 'package:very_good_cli/src/commands/create/templates/templates.dart'; class CreateDartPackage extends CreateSubCommand with Publishable { /// {@macro very_good_create_dart_package_command} CreateDartPackage({ - required super.analytics, required super.logger, required super.generatorFromBundle, required super.generatorFromBrick, diff --git a/lib/src/commands/create/commands/docs_site.dart b/lib/src/commands/create/commands/docs_site.dart index 1211f90a..098e98c1 100644 --- a/lib/src/commands/create/commands/docs_site.dart +++ b/lib/src/commands/create/commands/docs_site.dart @@ -7,7 +7,6 @@ import 'package:very_good_cli/src/commands/create/templates/templates.dart'; class CreateDocsSite extends CreateSubCommand { /// {@macro very_good_create_docs_site} CreateDocsSite({ - required super.analytics, required super.logger, required super.generatorFromBundle, required super.generatorFromBrick, diff --git a/lib/src/commands/create/commands/flame_game.dart b/lib/src/commands/create/commands/flame_game.dart index 0d8116a7..df03b553 100644 --- a/lib/src/commands/create/commands/flame_game.dart +++ b/lib/src/commands/create/commands/flame_game.dart @@ -7,7 +7,6 @@ import 'package:very_good_cli/src/commands/create/templates/templates.dart'; class CreateFlameGame extends CreateSubCommand with OrgName { /// {@macro very_good_create_flame_game_command} CreateFlameGame({ - required super.analytics, required super.logger, required super.generatorFromBundle, required super.generatorFromBrick, diff --git a/lib/src/commands/create/commands/flutter_app.dart b/lib/src/commands/create/commands/flutter_app.dart index 46714414..23e953ea 100644 --- a/lib/src/commands/create/commands/flutter_app.dart +++ b/lib/src/commands/create/commands/flutter_app.dart @@ -7,7 +7,6 @@ import 'package:very_good_cli/src/commands/create/templates/templates.dart'; class CreateFlutterApp extends CreateSubCommand with OrgName, MultiTemplates { /// {@macro very_good_create_flutter_app_command} CreateFlutterApp({ - required super.analytics, required super.logger, required super.generatorFromBundle, required super.generatorFromBrick, diff --git a/lib/src/commands/create/commands/flutter_package.dart b/lib/src/commands/create/commands/flutter_package.dart index 70e48d5f..41ddd6a9 100644 --- a/lib/src/commands/create/commands/flutter_package.dart +++ b/lib/src/commands/create/commands/flutter_package.dart @@ -7,7 +7,6 @@ import 'package:very_good_cli/src/commands/create/templates/templates.dart'; class CreateFlutterPackage extends CreateSubCommand with Publishable { /// {@macro very_good_create_flutter_package_command} CreateFlutterPackage({ - required super.analytics, required super.logger, required super.generatorFromBundle, required super.generatorFromBrick, diff --git a/lib/src/commands/create/commands/flutter_plugin.dart b/lib/src/commands/create/commands/flutter_plugin.dart index af6a68b4..163f5c41 100644 --- a/lib/src/commands/create/commands/flutter_plugin.dart +++ b/lib/src/commands/create/commands/flutter_plugin.dart @@ -7,7 +7,6 @@ import 'package:very_good_cli/src/commands/create/templates/templates.dart'; class CreateFlutterPlugin extends CreateSubCommand with Publishable { /// {@macro very_good_create_flutter_plugin_command} CreateFlutterPlugin({ - required super.analytics, required super.logger, required super.generatorFromBundle, required super.generatorFromBrick, diff --git a/lib/src/commands/create/create.dart b/lib/src/commands/create/create.dart index 21981554..e13cdb78 100644 --- a/lib/src/commands/create/create.dart +++ b/lib/src/commands/create/create.dart @@ -11,7 +11,6 @@ import 'package:very_good_cli/src/commands/create/commands/commands.dart'; class CreateCommand extends Command { /// {@macro create_command} CreateCommand({ - required Analytics analytics, required Logger logger, MasonGeneratorFromBundle? generatorFromBundle, MasonGeneratorFromBrick? generatorFromBrick, @@ -19,7 +18,6 @@ class CreateCommand extends Command { // very_good create flutter_app addSubcommand( CreateFlutterApp( - analytics: analytics, logger: logger, generatorFromBundle: generatorFromBundle, generatorFromBrick: generatorFromBrick, @@ -29,7 +27,6 @@ class CreateCommand extends Command { // very_good create dart_package addSubcommand( CreateDartPackage( - analytics: analytics, logger: logger, generatorFromBundle: generatorFromBundle, generatorFromBrick: generatorFromBrick, @@ -39,7 +36,6 @@ class CreateCommand extends Command { // very_good create dart_cli addSubcommand( CreateDartCLI( - analytics: analytics, logger: logger, generatorFromBundle: generatorFromBundle, generatorFromBrick: generatorFromBrick, @@ -49,7 +45,6 @@ class CreateCommand extends Command { // very_good create docs_site addSubcommand( CreateDocsSite( - analytics: analytics, logger: logger, generatorFromBundle: generatorFromBundle, generatorFromBrick: generatorFromBrick, @@ -59,7 +54,6 @@ class CreateCommand extends Command { // very_good create flutter_package addSubcommand( CreateFlutterPackage( - analytics: analytics, logger: logger, generatorFromBundle: generatorFromBundle, generatorFromBrick: generatorFromBrick, @@ -69,7 +63,6 @@ class CreateCommand extends Command { // very_good create flutter_plugin addSubcommand( CreateFlutterPlugin( - analytics: analytics, logger: logger, generatorFromBundle: generatorFromBundle, generatorFromBrick: generatorFromBrick, @@ -79,7 +72,6 @@ class CreateCommand extends Command { // very_good create flame_game addSubcommand( CreateFlameGame( - analytics: analytics, logger: logger, generatorFromBundle: generatorFromBundle, generatorFromBrick: generatorFromBrick, From f61bd6f042d07ac4a8ac1d57538483d2e40c5eb4 Mon Sep 17 00:00:00 2001 From: Alejandro Santiago Date: Wed, 28 Jun 2023 12:49:24 +0100 Subject: [PATCH 3/8] feat: continued removing analytics --- README.md | 4 -- e2e/helpers/command_helper.dart | 13 ---- e2e/pubspec.yaml | 1 - site/docs/overview.md | 4 -- site/docs/templates/core.md | 12 ---- test/helpers/command_helper.dart | 13 ---- test/src/command_runner_test.dart | 69 ------------------- .../create/commands/dart_cli_test.dart | 14 ---- .../create/commands/dart_package_test.dart | 14 ---- .../create/commands/docs_site_test.dart | 14 ---- .../create/commands/flame_game_test.dart | 14 ---- .../create/commands/flutter_app_test.dart | 15 ---- .../create/commands/flutter_package_test.dart | 14 ---- .../create/commands/flutter_plugin_test.dart | 14 ---- .../create/create_subcommand_test.dart | 50 -------------- 15 files changed, 265 deletions(-) diff --git a/README.md b/README.md index bee0e0fe..dcee0248 100644 --- a/README.md +++ b/README.md @@ -155,10 +155,6 @@ Usage: very_good [arguments] Global options: -h, --help Print this usage information. --version Print the current version. - --analytics Toggle anonymous usage statistics. - - [false] Disable anonymous usage statistics - [true] Enable anonymous usage statistics Available commands: create very_good create diff --git a/e2e/helpers/command_helper.dart b/e2e/helpers/command_helper.dart index c234313c..5650369c 100644 --- a/e2e/helpers/command_helper.dart +++ b/e2e/helpers/command_helper.dart @@ -3,11 +3,8 @@ import 'dart:async'; import 'package:mason/mason.dart'; import 'package:mocktail/mocktail.dart'; import 'package:pub_updater/pub_updater.dart'; -import 'package:usage/usage.dart'; import 'package:very_good_cli/src/command_runner.dart'; -class _MockAnalytics extends Mock implements Analytics {} - class _MockLogger extends Mock implements Logger {} class _MockProgress extends Mock implements Progress {} @@ -38,25 +35,15 @@ void Function() withRunner( ) runnerFn, ) { return _overridePrint((printLogs) async { - final analytics = _MockAnalytics(); final logger = _MockLogger(); final progress = _MockProgress(); final pubUpdater = _MockPubUpdater(); final progressLogs = []; final commandRunner = VeryGoodCommandRunner( - analytics: analytics, logger: logger, pubUpdater: pubUpdater, ); - when(() => analytics.firstRun).thenReturn(false); - when(() => analytics.enabled).thenReturn(false); - when( - () => analytics.sendEvent(any(), any(), label: any(named: 'label')), - ).thenAnswer((_) async {}); - when( - () => analytics.waitForLastPing(timeout: any(named: 'timeout')), - ).thenAnswer((_) async {}); when(() => progress.complete(any())).thenAnswer((_) { final message = _.positionalArguments.elementAt(0) as String?; if (message != null) progressLogs.add(message); diff --git a/e2e/pubspec.yaml b/e2e/pubspec.yaml index 04e39b4d..7cdf9cb8 100644 --- a/e2e/pubspec.yaml +++ b/e2e/pubspec.yaml @@ -13,7 +13,6 @@ dev_dependencies: pub_updater: ^0.3.0 test: ^1.24.3 universal_io: ^2.0.4 - usage: ^4.0.2 very_good_analysis: ^5.0.0 very_good_cli: path: ../ diff --git a/site/docs/overview.md b/site/docs/overview.md index 59baf6a1..a6610991 100644 --- a/site/docs/overview.md +++ b/site/docs/overview.md @@ -106,10 +106,6 @@ Usage: very_good [arguments] Global options: -h, --help Print this usage information. --version Print the current version. - --analytics Toggle anonymous usage statistics. - - [false] Disable anonymous usage statistics - [true] Enable anonymous usage statistics Available commands: create very_good create diff --git a/site/docs/templates/core.md b/site/docs/templates/core.md index febd9f06..3b2bbd67 100644 --- a/site/docs/templates/core.md +++ b/site/docs/templates/core.md @@ -58,18 +58,6 @@ very_good create flutter_app my_app --desc "My new Flutter app" very_good create flutter_app my_app --desc "My new Flutter app" --org "com.custom.org" ``` -:::note -Upon first use, you will be prompted about anonymous usage statistics. You can adjust these settings at any time via the `--analytics` flag -::: - -```sh -# opt into anonymous usage statistics -very_good --analytics true - -# opt out of anonymous usage statistics -very_good --analytics false -``` - ### Running the Project ⚡ Once you have finished running `very_good create` with the project directory of your choice, you can change directories into the new project directory and install the dependencies diff --git a/test/helpers/command_helper.dart b/test/helpers/command_helper.dart index 05108e0e..49fe4230 100644 --- a/test/helpers/command_helper.dart +++ b/test/helpers/command_helper.dart @@ -3,11 +3,8 @@ import 'dart:async'; import 'package:mason/mason.dart'; import 'package:mocktail/mocktail.dart'; import 'package:pub_updater/pub_updater.dart'; -import 'package:usage/usage.dart'; import 'package:very_good_cli/src/command_runner.dart'; -class MockAnalytics extends Mock implements Analytics {} - class MockLogger extends Mock implements Logger {} class MockProgress extends Mock implements Progress {} @@ -38,25 +35,15 @@ void Function() withRunner( ) runnerFn, ) { return _overridePrint((printLogs) async { - final analytics = MockAnalytics(); final logger = MockLogger(); final progress = MockProgress(); final pubUpdater = MockPubUpdater(); final progressLogs = []; final commandRunner = VeryGoodCommandRunner( - analytics: analytics, logger: logger, pubUpdater: pubUpdater, ); - when(() => analytics.firstRun).thenReturn(false); - when(() => analytics.enabled).thenReturn(false); - when( - () => analytics.sendEvent(any(), any(), label: any(named: 'label')), - ).thenAnswer((_) async {}); - when( - () => analytics.waitForLastPing(timeout: any(named: 'timeout')), - ).thenAnswer((_) async {}); when(() => progress.complete(any())).thenAnswer((_) { final message = _.positionalArguments.elementAt(0) as String?; if (message != null) progressLogs.add(message); diff --git a/test/src/command_runner_test.dart b/test/src/command_runner_test.dart index 7d940383..8691d2dd 100644 --- a/test/src/command_runner_test.dart +++ b/test/src/command_runner_test.dart @@ -10,8 +10,6 @@ import 'package:test/test.dart'; import 'package:very_good_cli/src/command_runner.dart'; import 'package:very_good_cli/src/version.dart'; -class MockAnalytics extends Mock implements Analytics {} - class MockLogger extends Mock implements Logger {} class MockPubUpdater extends Mock implements PubUpdater {} @@ -26,7 +24,6 @@ const expectedUsage = [ 'Global options:\n' '-h, --help Print this usage information.\n' ' --version Print the current version.\n' - ' --analytics Toggle anonymous usage statistics.\n' '\n' ' [false] Disable anonymous usage statistics\n' ' [true] Enable anonymous usage statistics\n' @@ -62,17 +59,13 @@ void main() { ); group('VeryGoodCommandRunner', () { - late Analytics analytics; late PubUpdater pubUpdater; late Logger logger; late VeryGoodCommandRunner commandRunner; setUp(() { - analytics = MockAnalytics(); pubUpdater = MockPubUpdater(); - when(() => analytics.firstRun).thenReturn(false); - when(() => analytics.enabled).thenReturn(false); when( () => pubUpdater.getLatestVersion(any()), ).thenAnswer((_) async => packageVersion); @@ -80,18 +73,11 @@ void main() { logger = MockLogger(); commandRunner = VeryGoodCommandRunner( - analytics: analytics, logger: logger, pubUpdater: pubUpdater, ); }); - test('can be instantiated without an explicit analytics/logger instance', - () { - final commandRunner = VeryGoodCommandRunner(); - expect(commandRunner, isNotNull); - }); - group('run', () { test('shows update message when newer version exists', () async { when( @@ -145,22 +131,6 @@ void main() { verifyNever(() => logger.info(updatePrompt)); }); - test('prompts for analytics collection on first run (y)', () async { - when(() => analytics.firstRun).thenReturn(true); - when(() => logger.prompt(any())).thenReturn('y'); - final result = await commandRunner.run(['--version']); - expect(result, equals(ExitCode.success.code)); - verify(() => analytics.enabled = true); - }); - - test('prompts for analytics collection on first run (n)', () async { - when(() => analytics.firstRun).thenReturn(true); - when(() => logger.prompt(any())).thenReturn('n'); - final result = await commandRunner.run(['--version']); - expect(result, equals(ExitCode.success.code)); - verify(() => analytics.enabled = false); - }); - test('handles FormatException', () async { const exception = FormatException('oops!'); var isFirstInvocation = true; @@ -221,36 +191,6 @@ void main() { }); }); - group('--analytics', () { - test('sets analytics.enabled to true', () async { - final result = await commandRunner.run(['--analytics', 'true']); - expect(result, equals(ExitCode.success.code)); - verify(() => analytics.enabled = true); - }); - - test('sets analytics.enabled to false', () async { - final result = await commandRunner.run(['--analytics', 'false']); - expect(result, equals(ExitCode.success.code)); - verify(() => analytics.enabled = false); - }); - - test('does not accept erroneous input', () async { - final result = await commandRunner.run(['--analytics', 'garbage']); - expect(result, equals(ExitCode.usage.code)); - verifyNever(() => analytics.enabled); - verify( - () => logger.err( - '"garbage" is not an allowed value for option "analytics".', - ), - ).called(1); - }); - - test('exits with bad usage when missing value', () async { - final result = await commandRunner.run(['--analytics']); - expect(result, equals(ExitCode.usage.code)); - }); - }); - group('--version', () { test('outputs current version', () async { final result = await commandRunner.run(['--version']); @@ -270,15 +210,6 @@ void main() { verifyNever(() => logger.detail(' Command options:')); }); - test('logs that analytics is enabled', () async { - when(() => analytics.enabled).thenReturn(true); - final result = await commandRunner.run(['--verbose']); - expect(result, equals(ExitCode.success.code)); - verify( - () => logger.detail('Running with analytics enabled.'), - ).called(1); - }); - test('enables verbose logging for sub commands', () async { final result = await commandRunner.run([ '--verbose', diff --git a/test/src/commands/create/commands/dart_cli_test.dart b/test/src/commands/create/commands/dart_cli_test.dart index 9257dbaa..df636477 100644 --- a/test/src/commands/create/commands/dart_cli_test.dart +++ b/test/src/commands/create/commands/dart_cli_test.dart @@ -5,13 +5,10 @@ import 'package:mason/mason.dart'; import 'package:mocktail/mocktail.dart'; import 'package:path/path.dart' as path; import 'package:test/test.dart'; -import 'package:usage/usage.dart'; import 'package:very_good_cli/src/commands/commands.dart'; import '../../../../helpers/helpers.dart'; -class MockAnalytics extends Mock implements Analytics {} - class MockLogger extends Mock implements Logger {} class MockMasonGenerator extends Mock implements MasonGenerator {} @@ -47,7 +44,6 @@ environment: '''; void main() { - late Analytics analytics; late Logger logger; setUpAll(() { @@ -56,14 +52,6 @@ void main() { }); setUp(() { - analytics = MockAnalytics(); - when( - () => analytics.sendEvent(any(), any(), label: any(named: 'label')), - ).thenAnswer((_) async {}); - when( - () => analytics.waitForLastPing(timeout: any(named: 'timeout')), - ).thenAnswer((_) async {}); - logger = MockLogger(); final progress = MockProgress(); @@ -75,7 +63,6 @@ void main() { test('with default options', () { final logger = Logger(); final command = CreateDartCLI( - analytics: analytics, logger: logger, generatorFromBundle: null, generatorFromBrick: null, @@ -170,7 +157,6 @@ void main() { final argResults = MockArgResults(); final command = CreateDartCLI( - analytics: analytics, logger: logger, generatorFromBundle: (_) async => throw Exception('oops'), generatorFromBrick: (_) async => generator, diff --git a/test/src/commands/create/commands/dart_package_test.dart b/test/src/commands/create/commands/dart_package_test.dart index a3a1d3dc..a26908ee 100644 --- a/test/src/commands/create/commands/dart_package_test.dart +++ b/test/src/commands/create/commands/dart_package_test.dart @@ -5,13 +5,10 @@ import 'package:mason/mason.dart'; import 'package:mocktail/mocktail.dart'; import 'package:path/path.dart' as path; import 'package:test/test.dart'; -import 'package:usage/usage.dart'; import 'package:very_good_cli/src/commands/commands.dart'; import '../../../../helpers/helpers.dart'; -class MockAnalytics extends Mock implements Analytics {} - class MockLogger extends Mock implements Logger {} class MockMasonGenerator extends Mock implements MasonGenerator {} @@ -46,7 +43,6 @@ environment: '''; void main() { - late Analytics analytics; late Logger logger; setUpAll(() { @@ -55,14 +51,6 @@ void main() { }); setUp(() { - analytics = MockAnalytics(); - when( - () => analytics.sendEvent(any(), any(), label: any(named: 'label')), - ).thenAnswer((_) async {}); - when( - () => analytics.waitForLastPing(timeout: any(named: 'timeout')), - ).thenAnswer((_) async {}); - logger = MockLogger(); final progress = MockProgress(); @@ -74,7 +62,6 @@ void main() { test('with default options', () { final logger = Logger(); final command = CreateDartPackage( - analytics: analytics, logger: logger, generatorFromBundle: null, generatorFromBrick: null, @@ -170,7 +157,6 @@ void main() { final argResults = MockArgResults(); final command = CreateDartPackage( - analytics: analytics, logger: logger, generatorFromBundle: (_) async => throw Exception('oops'), generatorFromBrick: (_) async => generator, diff --git a/test/src/commands/create/commands/docs_site_test.dart b/test/src/commands/create/commands/docs_site_test.dart index d8f035b6..22129ac1 100644 --- a/test/src/commands/create/commands/docs_site_test.dart +++ b/test/src/commands/create/commands/docs_site_test.dart @@ -5,13 +5,10 @@ import 'package:mason/mason.dart'; import 'package:mocktail/mocktail.dart'; import 'package:path/path.dart' as path; import 'package:test/test.dart'; -import 'package:usage/usage.dart'; import 'package:very_good_cli/src/commands/commands.dart'; import '../../../../helpers/helpers.dart'; -class MockAnalytics extends Mock implements Analytics {} - class MockLogger extends Mock implements Logger {} class MockMasonGenerator extends Mock implements MasonGenerator {} @@ -47,7 +44,6 @@ environment: '''; void main() { - late Analytics analytics; late Logger logger; setUpAll(() { @@ -56,14 +52,6 @@ void main() { }); setUp(() { - analytics = MockAnalytics(); - when( - () => analytics.sendEvent(any(), any(), label: any(named: 'label')), - ).thenAnswer((_) async {}); - when( - () => analytics.waitForLastPing(timeout: any(named: 'timeout')), - ).thenAnswer((_) async {}); - logger = MockLogger(); final progress = MockProgress(); @@ -75,7 +63,6 @@ void main() { test('with default options', () { final logger = Logger(); final command = CreateDocsSite( - analytics: analytics, logger: logger, generatorFromBundle: null, generatorFromBrick: null, @@ -169,7 +156,6 @@ void main() { final argResults = MockArgResults(); final command = CreateDocsSite( - analytics: analytics, logger: logger, generatorFromBundle: (_) async => throw Exception('oops'), generatorFromBrick: (_) async => generator, diff --git a/test/src/commands/create/commands/flame_game_test.dart b/test/src/commands/create/commands/flame_game_test.dart index a3e7471e..3dac9e98 100644 --- a/test/src/commands/create/commands/flame_game_test.dart +++ b/test/src/commands/create/commands/flame_game_test.dart @@ -5,14 +5,11 @@ import 'package:mason/mason.dart'; import 'package:mocktail/mocktail.dart'; import 'package:path/path.dart' as path; import 'package:test/test.dart'; -import 'package:usage/usage.dart'; import 'package:very_good_cli/src/commands/commands.dart'; import 'package:very_good_cli/src/commands/create/commands/flame_game.dart'; import '../../../../helpers/helpers.dart'; -class MockAnalytics extends Mock implements Analytics {} - class MockLogger extends Mock implements Logger {} class MockMasonGenerator extends Mock implements MasonGenerator {} @@ -49,7 +46,6 @@ environment: void main() { late List progressLogs; - late Analytics analytics; late Logger logger; setUpAll(() { @@ -60,14 +56,6 @@ void main() { setUp(() { progressLogs = []; - analytics = MockAnalytics(); - when( - () => analytics.sendEvent(any(), any(), label: any(named: 'label')), - ).thenAnswer((_) async {}); - when( - () => analytics.waitForLastPing(timeout: any(named: 'timeout')), - ).thenAnswer((_) async {}); - logger = MockLogger(); final progress = MockProgress(); @@ -82,7 +70,6 @@ void main() { test('with default options', () { final logger = Logger(); final command = CreateFlameGame( - analytics: analytics, logger: logger, generatorFromBundle: null, generatorFromBrick: null, @@ -175,7 +162,6 @@ void main() { final argResults = MockArgResults(); final command = CreateFlameGame( - analytics: analytics, logger: logger, generatorFromBundle: (_) async => throw Exception('oops'), generatorFromBrick: (_) async => generator, diff --git a/test/src/commands/create/commands/flutter_app_test.dart b/test/src/commands/create/commands/flutter_app_test.dart index b7d674d0..4b723b4e 100644 --- a/test/src/commands/create/commands/flutter_app_test.dart +++ b/test/src/commands/create/commands/flutter_app_test.dart @@ -4,14 +4,11 @@ import 'package:mason/mason.dart'; import 'package:mocktail/mocktail.dart'; import 'package:path/path.dart' as path; import 'package:test/test.dart'; -import 'package:usage/usage.dart'; import 'package:very_good_cli/src/commands/commands.dart'; import 'package:very_good_cli/src/commands/create/commands/flutter_app.dart'; import '../../../../helpers/helpers.dart'; -class MockAnalytics extends Mock implements Analytics {} - class MockLogger extends Mock implements Logger {} class MockMasonGenerator extends Mock implements MasonGenerator {} @@ -52,7 +49,6 @@ environment: void main() { late List progressLogs; - late Analytics analytics; late Logger logger; final generatedFiles = List.filled(10, const GeneratedFile.created(path: '')); @@ -65,14 +61,6 @@ void main() { setUp(() { progressLogs = []; - analytics = MockAnalytics(); - when( - () => analytics.sendEvent(any(), any(), label: any(named: 'label')), - ).thenAnswer((_) async {}); - when( - () => analytics.waitForLastPing(timeout: any(named: 'timeout')), - ).thenAnswer((_) async {}); - logger = MockLogger(); final progress = MockProgress(); @@ -87,7 +75,6 @@ void main() { test('with default options', () { final logger = Logger(); final command = CreateFlutterApp( - analytics: analytics, logger: logger, generatorFromBundle: null, generatorFromBrick: null, @@ -166,7 +153,6 @@ void main() { test('core', () async { await testMultiTemplateCommand( multiTemplatesCommand: CreateFlutterApp( - analytics: analytics, logger: logger, generatorFromBundle: (_) async => throw Exception('oops'), generatorFromBrick: (_) async => generator, @@ -189,7 +175,6 @@ void main() { test('wear', () async { await testMultiTemplateCommand( multiTemplatesCommand: CreateFlutterApp( - analytics: analytics, logger: logger, generatorFromBundle: (_) async => throw Exception('oops'), generatorFromBrick: (_) async => generator, diff --git a/test/src/commands/create/commands/flutter_package_test.dart b/test/src/commands/create/commands/flutter_package_test.dart index 631e60d9..f9d5f6e4 100644 --- a/test/src/commands/create/commands/flutter_package_test.dart +++ b/test/src/commands/create/commands/flutter_package_test.dart @@ -5,13 +5,10 @@ import 'package:mason/mason.dart'; import 'package:mocktail/mocktail.dart'; import 'package:path/path.dart' as path; import 'package:test/test.dart'; -import 'package:usage/usage.dart'; import 'package:very_good_cli/src/commands/commands.dart'; import '../../../../helpers/helpers.dart'; -class MockAnalytics extends Mock implements Analytics {} - class MockLogger extends Mock implements Logger {} class MockMasonGenerator extends Mock implements MasonGenerator {} @@ -46,7 +43,6 @@ environment: '''; void main() { - late Analytics analytics; late Logger logger; setUpAll(() { @@ -55,14 +51,6 @@ void main() { }); setUp(() { - analytics = MockAnalytics(); - when( - () => analytics.sendEvent(any(), any(), label: any(named: 'label')), - ).thenAnswer((_) async {}); - when( - () => analytics.waitForLastPing(timeout: any(named: 'timeout')), - ).thenAnswer((_) async {}); - logger = MockLogger(); final progress = MockProgress(); @@ -74,7 +62,6 @@ void main() { test('with default options', () { final logger = Logger(); final command = CreateFlutterPackage( - analytics: analytics, logger: logger, generatorFromBundle: null, generatorFromBrick: null, @@ -168,7 +155,6 @@ void main() { final argResults = MockArgResults(); final command = CreateFlutterPackage( - analytics: analytics, logger: logger, generatorFromBundle: (_) async => throw Exception('oops'), generatorFromBrick: (_) async => generator, diff --git a/test/src/commands/create/commands/flutter_plugin_test.dart b/test/src/commands/create/commands/flutter_plugin_test.dart index 85d82a17..41d18fd7 100644 --- a/test/src/commands/create/commands/flutter_plugin_test.dart +++ b/test/src/commands/create/commands/flutter_plugin_test.dart @@ -5,13 +5,10 @@ import 'package:mason/mason.dart'; import 'package:mocktail/mocktail.dart'; import 'package:path/path.dart' as path; import 'package:test/test.dart'; -import 'package:usage/usage.dart'; import 'package:very_good_cli/src/commands/commands.dart'; import '../../../../helpers/helpers.dart'; -class MockAnalytics extends Mock implements Analytics {} - class MockLogger extends Mock implements Logger {} class MockMasonGenerator extends Mock implements MasonGenerator {} @@ -54,7 +51,6 @@ environment: '''; void main() { - late Analytics analytics; late Logger logger; setUpAll(() { @@ -63,14 +59,6 @@ void main() { }); setUp(() { - analytics = MockAnalytics(); - when( - () => analytics.sendEvent(any(), any(), label: any(named: 'label')), - ).thenAnswer((_) async {}); - when( - () => analytics.waitForLastPing(timeout: any(named: 'timeout')), - ).thenAnswer((_) async {}); - logger = MockLogger(); final progress = MockProgress(); @@ -82,7 +70,6 @@ void main() { test('with default options', () { final logger = Logger(); final command = CreateFlutterPlugin( - analytics: analytics, logger: logger, generatorFromBundle: null, generatorFromBrick: null, @@ -179,7 +166,6 @@ void main() { final argResults = MockArgResults(); final command = CreateFlutterPlugin( - analytics: analytics, logger: logger, generatorFromBundle: (_) async => throw Exception('oops'), generatorFromBrick: (_) async => generator, diff --git a/test/src/commands/create/create_subcommand_test.dart b/test/src/commands/create/create_subcommand_test.dart index da04f059..e30a820d 100644 --- a/test/src/commands/create/create_subcommand_test.dart +++ b/test/src/commands/create/create_subcommand_test.dart @@ -5,14 +5,11 @@ import 'package:args/command_runner.dart'; import 'package:mason/mason.dart'; import 'package:mocktail/mocktail.dart'; import 'package:test/test.dart'; -import 'package:usage/usage.dart'; import 'package:very_good_cli/src/commands/create/commands/create_subcommand.dart'; import 'package:very_good_cli/src/commands/create/templates/template.dart'; class MockTemplate extends Mock implements Template {} -class MockAnalytics extends Mock implements Analytics {} - class MockLogger extends Mock implements Logger {} class MockProgress extends Mock implements Progress {} @@ -33,7 +30,6 @@ class FakeDirectory extends Fake implements Directory {} class _TestCreateSubCommand extends CreateSubCommand { _TestCreateSubCommand({ required this.template, - required super.analytics, required super.logger, required super.generatorFromBundle, required super.generatorFromBrick, @@ -53,7 +49,6 @@ class _TestCreateSubCommandWithOrgName extends _TestCreateSubCommand with OrgName { _TestCreateSubCommandWithOrgName({ required super.template, - required super.analytics, required super.logger, required super.generatorFromBundle, required super.generatorFromBrick, @@ -64,7 +59,6 @@ class _TestCreateSubCommandWithPublishable extends _TestCreateSubCommand with Publishable { _TestCreateSubCommandWithPublishable({ required super.template, - required super.analytics, required super.logger, required super.generatorFromBundle, required super.generatorFromBrick, @@ -75,7 +69,6 @@ class _TestCreateSubCommandMultiTemplate extends CreateSubCommand with MultiTemplates { _TestCreateSubCommandMultiTemplate({ required this.templates, - required super.analytics, required super.logger, required super.generatorFromBundle, required super.generatorFromBrick, @@ -105,7 +98,6 @@ void main() { final generatedFiles = List.filled(10, const GeneratedFile.created(path: '')); late List progressLogs; - late Analytics analytics; late Logger logger; late Progress progress; @@ -118,14 +110,6 @@ void main() { setUp(() { progressLogs = []; - analytics = MockAnalytics(); - when( - () => analytics.sendEvent(any(), any(), label: any(named: 'label')), - ).thenAnswer((_) async {}); - when( - () => analytics.waitForLastPing(timeout: any(named: 'timeout')), - ).thenAnswer((_) async {}); - logger = MockLogger(); progress = MockProgress(); @@ -160,16 +144,12 @@ Run "runner help" to see global options.'''; when(() => template.onGenerateComplete(any(), any())).thenAnswer( (_) async {}, ); - when( - () => analytics.sendEvent(any(), any(), label: any(named: 'label')), - ).thenAnswer((_) async {}); }); group('can be instantiated', () { test('with default options', () { final command = _TestCreateSubCommand( template: template, - analytics: analytics, logger: logger, generatorFromBundle: null, generatorFromBrick: null, @@ -247,7 +227,6 @@ Run "runner help" to see global options.'''; final command = _TestCreateSubCommand( template: template, - analytics: analytics, logger: logger, generatorFromBundle: (_) async => throw Exception('oops'), generatorFromBrick: (_) async => generator, @@ -311,14 +290,6 @@ Run "runner help" to see global options.'''; ), ), ).called(1); - - verify( - () => analytics.sendEvent( - 'create create_subcommand', - 'generator_id', - label: 'generator description', - ), - ).called(1); }); test('uses default values for omitted options', () async { @@ -455,7 +426,6 @@ See https://dart.dev/tools/pub/pubspec#name for more information.''', test('uses remote brick when possible', () async { final command = _TestCreateSubCommand( template: template, - analytics: analytics, logger: logger, generatorFromBundle: (_) async { throw UnsupportedError('this test should not reach this point'); @@ -495,7 +465,6 @@ See https://dart.dev/tools/pub/pubspec#name for more information.''', () async { final command = _TestCreateSubCommand( template: template, - analytics: analytics, logger: logger, generatorFromBundle: (_) async => generator, generatorFromBrick: (_) async { @@ -560,16 +529,12 @@ Run "runner help" to see global options.'''; when(() => template.onGenerateComplete(any(), any())).thenAnswer( (_) async {}, ); - when( - () => analytics.sendEvent(any(), any(), label: any(named: 'label')), - ).thenAnswer((_) async {}); }); group('can be instantiated', () { test('with default options', () { final command = _TestCreateSubCommandWithOrgName( template: template, - analytics: analytics, logger: logger, generatorFromBundle: null, generatorFromBrick: null, @@ -644,7 +609,6 @@ Run "runner help" to see global options.'''; final command = _TestCreateSubCommandWithOrgName( template: template, - analytics: analytics, logger: logger, generatorFromBundle: (_) async => throw Exception('oops'), generatorFromBrick: (_) async => generator, @@ -898,13 +862,6 @@ Run "runner help" to see global options.'''; when(() => bundle.name).thenReturn('test'); when(() => bundle.description).thenReturn('Test bundle'); when(() => bundle.version).thenReturn(''); - when( - () => analytics.sendEvent( - any(), - any(), - label: any(named: 'label'), - ), - ).thenAnswer((_) async {}); final template1 = MockTemplate(); when(() => template1.name).thenReturn('template1'); @@ -929,7 +886,6 @@ Run "runner help" to see global options.'''; test('with default options', () { final command = _TestCreateSubCommandMultiTemplate( templates: templates, - analytics: analytics, logger: logger, generatorFromBundle: null, generatorFromBrick: null, @@ -1010,7 +966,6 @@ Run "runner help" to see global options.'''; final command = _TestCreateSubCommandMultiTemplate( templates: templates, - analytics: analytics, logger: logger, generatorFromBundle: (_) async => throw Exception('oops'), generatorFromBrick: (_) async => generator, @@ -1097,16 +1052,12 @@ Run "runner help" to see global options.'''; when(() => template.onGenerateComplete(any(), any())).thenAnswer( (_) async {}, ); - when( - () => analytics.sendEvent(any(), any(), label: any(named: 'label')), - ).thenAnswer((_) async {}); }); group('can be instantiated', () { test('with default options', () { final command = _TestCreateSubCommandWithPublishable( template: template, - analytics: analytics, logger: logger, generatorFromBundle: null, generatorFromBrick: null, @@ -1173,7 +1124,6 @@ Run "runner help" to see global options.'''; final command = _TestCreateSubCommandWithPublishable( template: template, - analytics: analytics, logger: logger, generatorFromBundle: (_) async => throw Exception('oops'), generatorFromBrick: (_) async => generator, From 086111c9e14b9edb57dd0f6fa880c58032cf8e69 Mon Sep 17 00:00:00 2001 From: Alejandro Santiago Date: Wed, 28 Jun 2023 12:53:37 +0100 Subject: [PATCH 4/8] refactor: unused pacakge --- lib/src/commands/create/commands/create_subcommand.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/src/commands/create/commands/create_subcommand.dart b/lib/src/commands/create/commands/create_subcommand.dart index 444de32c..2551789c 100644 --- a/lib/src/commands/create/commands/create_subcommand.dart +++ b/lib/src/commands/create/commands/create_subcommand.dart @@ -6,7 +6,6 @@ import 'package:args/command_runner.dart'; import 'package:mason/mason.dart'; import 'package:meta/meta.dart'; import 'package:path/path.dart' as path; -import 'package:very_good_cli/src/command_runner.dart'; import 'package:very_good_cli/src/commands/commands.dart'; import 'package:very_good_cli/src/commands/create/templates/templates.dart'; From 7b203832e2eb1da14045ea5e6920144883b1911e Mon Sep 17 00:00:00 2001 From: Alejandro Santiago Date: Wed, 28 Jun 2023 16:05:14 +0100 Subject: [PATCH 5/8] test: updated expected usage --- test/src/command_runner_test.dart | 4 ---- 1 file changed, 4 deletions(-) diff --git a/test/src/command_runner_test.dart b/test/src/command_runner_test.dart index 8691d2dd..59c78c24 100644 --- a/test/src/command_runner_test.dart +++ b/test/src/command_runner_test.dart @@ -24,10 +24,6 @@ const expectedUsage = [ 'Global options:\n' '-h, --help Print this usage information.\n' ' --version Print the current version.\n' - '\n' - ' [false] Disable anonymous usage statistics\n' - ' [true] Enable anonymous usage statistics\n' - '\n' ''' --[no-]verbose Noisy logging, including all shell commands executed.\n''' '\n' 'Available commands:\n' From 2b4ed931cce38b60a95ba57e565e864e6846893b Mon Sep 17 00:00:00 2001 From: Alejandro Santiago Date: Wed, 28 Jun 2023 16:12:27 +0100 Subject: [PATCH 6/8] test: added missing test for coverage --- test/src/command_runner_test.dart | 7 +++++++ test/src/commands/update_test.dart | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/test/src/command_runner_test.dart b/test/src/command_runner_test.dart index 59c78c24..20229bca 100644 --- a/test/src/command_runner_test.dart +++ b/test/src/command_runner_test.dart @@ -74,6 +74,13 @@ void main() { ); }); + test('can be instantiated with optional parameters', () { + expect( + () => VeryGoodCommandRunner(logger: logger), + returnsNormally, + ); + }); + group('run', () { test('shows update message when newer version exists', () async { when( diff --git a/test/src/commands/update_test.dart b/test/src/commands/update_test.dart index 2f213fc0..2483c3d2 100644 --- a/test/src/commands/update_test.dart +++ b/test/src/commands/update_test.dart @@ -3,6 +3,7 @@ import 'package:mocktail/mocktail.dart'; import 'package:test/test.dart'; import 'package:universal_io/io.dart'; import 'package:very_good_cli/src/command_runner.dart'; +import 'package:very_good_cli/src/commands/update.dart'; import 'package:very_good_cli/src/version.dart'; import '../../helpers/helpers.dart'; @@ -17,6 +18,13 @@ void main() { ); group('update', () { + test('can be instantiated with optional parameters', () { + expect( + () => UpdateCommand(logger: Logger()), + returnsNormally, + ); + }); + test( 'handles pub latest version query errors', withRunner((commandRunner, logger, pubUpdater, printLogs) async { From 34a94947b644ab9814a221b25d5315e84997b9ee Mon Sep 17 00:00:00 2001 From: Alejandro Santiago Date: Wed, 28 Jun 2023 16:20:47 +0100 Subject: [PATCH 7/8] test: fixed test name --- test/src/command_runner_test.dart | 2 +- test/src/commands/update_test.dart | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/src/command_runner_test.dart b/test/src/command_runner_test.dart index 20229bca..834c0235 100644 --- a/test/src/command_runner_test.dart +++ b/test/src/command_runner_test.dart @@ -74,7 +74,7 @@ void main() { ); }); - test('can be instantiated with optional parameters', () { + test('can be instantiated without optional parameters', () { expect( () => VeryGoodCommandRunner(logger: logger), returnsNormally, diff --git a/test/src/commands/update_test.dart b/test/src/commands/update_test.dart index 2483c3d2..545b5166 100644 --- a/test/src/commands/update_test.dart +++ b/test/src/commands/update_test.dart @@ -18,7 +18,7 @@ void main() { ); group('update', () { - test('can be instantiated with optional parameters', () { + test('can be instantiated without optional parameters', () { expect( () => UpdateCommand(logger: Logger()), returnsNormally, From 0fa8137f95a6c844229f43fc8ec81012549622b4 Mon Sep 17 00:00:00 2001 From: Alejandro Santiago Date: Wed, 28 Jun 2023 16:28:45 +0100 Subject: [PATCH 8/8] test: updated command_runner test --- test/src/command_runner_test.dart | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/test/src/command_runner_test.dart b/test/src/command_runner_test.dart index 834c0235..be414d08 100644 --- a/test/src/command_runner_test.dart +++ b/test/src/command_runner_test.dart @@ -75,10 +75,7 @@ void main() { }); test('can be instantiated without optional parameters', () { - expect( - () => VeryGoodCommandRunner(logger: logger), - returnsNormally, - ); + expect(VeryGoodCommandRunner.new, returnsNormally); }); group('run', () {