Skip to content

Commit

Permalink
feat: add version constraints to update method (#37)
Browse files Browse the repository at this point in the history
* feat: add version constraints to update

* format
  • Loading branch information
renancaraujo committed Jan 20, 2023
1 parent 3e69c19 commit ec14539
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 2 deletions.
10 changes: 9 additions & 1 deletion lib/src/pub_updater.dart
Expand Up @@ -49,9 +49,17 @@ class PubUpdater {
Future<ProcessResult> update({
required String packageName,
ProcessManager processManager = const LocalProcessManager(),
String? versionConstraint,
}) {
return processManager.run(
['dart', 'pub', 'global', 'activate', packageName],
[
'dart',
'pub',
'global',
'activate',
packageName,
if (versionConstraint != null) versionConstraint,
],
);
}

Expand Down
26 changes: 25 additions & 1 deletion test/pub_update_test.dart
Expand Up @@ -19,7 +19,21 @@ class FakeProcessResult extends Fake implements ProcessResult {}

const emptyResponseBody = '{}';

const command = ['dart', 'pub', 'global', 'activate', 'very_good_cli'];
const command = [
'dart',
'pub',
'global',
'activate',
'very_good_cli',
];
const commandWithConstraint = [
'dart',
'pub',
'global',
'activate',
'very_good_cli',
'>=0.4.0',
];

const customBaseUrl = 'https://custom-domain.com/api/packages/';

Expand Down Expand Up @@ -206,6 +220,16 @@ void main() {
);
verify(() => processManager.run(command)).called(1);
});

test('makes correct call to process.run with version constraint',
() async {
await pubUpdater.update(
packageName: 'very_good_cli',
processManager: processManager,
versionConstraint: '>=0.4.0',
);
verify(() => processManager.run(commandWithConstraint)).called(1);
});
});
});
}

0 comments on commit ec14539

Please sign in to comment.