@@ -22,10 +22,12 @@ void main() {
22
22
expect (command, isNotNull);
23
23
});
24
24
25
- test ('throws UsageException when --project-name is missing' , () async {
26
- const expectedErrorMessage = 'Required: --project-name.\n\n '
27
- 'e.g: very_good create --project-name my_app' ;
28
- final result = await commandRunner.run (['create' ]);
25
+ test (
26
+ 'throws UsageException when --project-name is missing '
27
+ 'and directory base is not a valid package name' , () async {
28
+ const expectedErrorMessage = '".tmp" is not a valid package name.\n\n '
29
+ 'See https://dart.dev/tools/pub/pubspec#name for more information.' ;
30
+ final result = await commandRunner.run (['create' , '.tmp' ]);
29
31
expect (result, equals (ExitCode .usage.code));
30
32
verify (logger.err (expectedErrorMessage)).called (1 );
31
33
});
@@ -34,15 +36,31 @@ void main() {
34
36
const expectedErrorMessage = '"My App" is not a valid package name.\n\n '
35
37
'See https://dart.dev/tools/pub/pubspec#name for more information.' ;
36
38
final result = await commandRunner.run (
37
- ['create' , '--project-name' , 'My App' ],
39
+ ['create' , '.' , ' --project-name' , 'My App' ],
38
40
);
39
41
expect (result, equals (ExitCode .usage.code));
40
42
verify (logger.err (expectedErrorMessage)).called (1 );
41
43
});
42
44
45
+ test ('throws UsageException when output directory is missing' , () async {
46
+ const expectedErrorMessage =
47
+ 'No option specified for the output directory.' ;
48
+ final result = await commandRunner.run (['create' ]);
49
+ expect (result, equals (ExitCode .usage.code));
50
+ verify (logger.err (expectedErrorMessage)).called (1 );
51
+ });
52
+
53
+ test ('throws UsageException when multiple output directories are provided' ,
54
+ () async {
55
+ const expectedErrorMessage = 'Multiple output directories specified.' ;
56
+ final result = await commandRunner.run (['create' , './a' , './b' ]);
57
+ expect (result, equals (ExitCode .usage.code));
58
+ verify (logger.err (expectedErrorMessage)).called (1 );
59
+ });
60
+
43
61
test ('completes successfully with correct output' , () async {
44
62
final result = await commandRunner.run (
45
- ['create' , '--project-name' , 'my_app' ],
63
+ ['create' , '.' , ' --project-name' , 'my_app' ],
46
64
);
47
65
expect (result, equals (ExitCode .success.code));
48
66
verify (logger.alert ('Created a Very Good App! 🦄' )).called (1 );
0 commit comments