@@ -45,6 +45,8 @@ const expectedUsage = [
45
45
const responseBody =
46
46
'{"name": "very_good_cli", "versions": ["0.4.0", "0.3.3"]}' ;
47
47
48
+ const latestVersion = '9999.0.0' ;
49
+
48
50
void main () {
49
51
group ('VeryGoodCommandRunner' , () {
50
52
late List <String > printLogs;
@@ -70,14 +72,9 @@ void main() {
70
72
71
73
when (() => analytics.firstRun).thenReturn (false );
72
74
when (() => analytics.enabled).thenReturn (false );
73
-
74
75
when (
75
- () => pubUpdater.isUpToDate (
76
- packageName: any (named: 'packageName' ),
77
- currentVersion: any (named: 'currentVersion' ),
78
- ),
79
- ).thenAnswer ((_) => Future .value (true ));
80
-
76
+ () => pubUpdater.getLatestVersion (any ()),
77
+ ).thenAnswer ((_) async => packageVersion);
81
78
when (
82
79
() => pubUpdater.update (
83
80
packageName: any (named: 'packageName' ),
@@ -101,18 +98,17 @@ void main() {
101
98
102
99
group ('run' , () {
103
100
test ('prompts for update when newer version exists' , () async {
104
- when (() => pubUpdater.isUpToDate (
105
- packageName: any (named: 'packageName' ),
106
- currentVersion: any (named: 'currentVersion' ),
107
- )).thenAnswer ((_) => Future .value (false ));
101
+ when (
102
+ () => pubUpdater.getLatestVersion (any ()),
103
+ ).thenAnswer ((_) async => latestVersion);
108
104
109
105
when (() => logger.prompt (any ())).thenReturn ('n' );
110
106
111
107
final result = await commandRunner.run (['--version' ]);
112
108
expect (result, equals (ExitCode .success.code));
113
109
verify (
114
110
() => logger.info (
115
- lightYellow.wrap ('A new release of $packageName is available.' ) ,
111
+ '''${ lightYellow .wrap ('A new version of $packageName is available:' )} ${ lightCyan . wrap ( packageVersion )} -> ${ lightCyan . wrap ( latestVersion )}''' ,
116
112
),
117
113
).called (1 );
118
114
verify (
@@ -122,10 +118,7 @@ void main() {
122
118
123
119
test ('handles pub update errors gracefully' , () async {
124
120
when (
125
- () => pubUpdater.isUpToDate (
126
- packageName: any (named: 'packageName' ),
127
- currentVersion: any (named: 'currentVersion' ),
128
- ),
121
+ () => pubUpdater.getLatestVersion (any ()),
129
122
).thenThrow (Exception ('oops' ));
130
123
131
124
final result = await commandRunner.run (['--version' ]);
@@ -138,17 +131,16 @@ void main() {
138
131
});
139
132
140
133
test ('updates on "y" response when newer version exists' , () async {
141
- when (() => pubUpdater.isUpToDate (
142
- packageName: any (named: 'packageName' ),
143
- currentVersion: any (named: 'currentVersion' ),
144
- )).thenAnswer ((_) => Future .value (false ));
134
+ when (
135
+ () => pubUpdater.getLatestVersion (any ()),
136
+ ).thenAnswer ((_) async => latestVersion);
145
137
146
138
when (() => logger.prompt (any ())).thenReturn ('y' );
147
139
when (() => logger.progress (any ())).thenReturn (([String ? message]) {});
148
140
149
141
final result = await commandRunner.run (['--version' ]);
150
142
expect (result, equals (ExitCode .success.code));
151
- verify (() => logger.progress ('Updating' )).called (1 );
143
+ verify (() => logger.progress ('Updating to $ latestVersion ' )).called (1 );
152
144
});
153
145
154
146
test ('prompts for analytics collection on first run (y)' , () async {
0 commit comments