moveNote: Add test + fix

Fixes #590
This commit is contained in:
Vishesh Handa
2022-01-26 11:30:58 +01:00
parent 2aa4d46a66
commit c9a031dd29
7 changed files with 84 additions and 25 deletions

View File

@ -164,15 +164,16 @@ class GitNoteRepository {
Future<Result<void>> moveNotes(
List<String> oldPaths,
List<String> newPaths,
String newFolderPath,
) async {
var repoPath = gitRepoPath.endsWith('/') ? gitRepoPath : '$gitRepoPath/';
var oldSpecs = oldPaths.map((p) => p.substring(repoPath.length)).toList();
var newSpecs = newPaths.map((p) => p.substring(repoPath.length)).toList();
assert(oldPaths.isNotEmpty);
assert(newPaths.isNotEmpty);
assert(oldPaths.length == newPaths.length);
assert(oldPaths.every((e) => !e.startsWith('/')));
assert(newPaths.every((e) => !e.startsWith('/')));
var msg = oldPaths.length == 1
? messageBuilder.moveNote(oldSpecs.first, newSpecs.first)
: messageBuilder.moveNotes(oldSpecs, newSpecs);
? messageBuilder.moveNote(oldPaths.first, newPaths.first)
: messageBuilder.moveNotes(oldPaths, newPaths);
return _addAllAndCommit(msg);
}