public void UpsertMediaFilesShouldInsertNewFiles() { var files = new List <MediaFile>(); for (int i = 0; i < 3; ++i) { var newFile = new MediaFile(-1, "https://google.ca", MediaFileType.VIDEO_TYPE, $"file {i}", DateTime.Now, UniqueIdUtil.GenerateUniqueId()); files.Add(newFile); } var fileIds = new Dictionary <string, long>(); repository.UpsertMediaFiles(files, fileIds).ConfigureAwait(false); var retrievedFiles = repository.GetMediaFiles(GetFirstPage()).Result.Results; var expectedFileIds = new Dictionary <string, long>(); foreach (var file in files) { foreach (var retrieved in retrievedFiles) { if (file.UniqueId == retrieved.UniqueId) { file.MediaId = retrieved.MediaId; break; } } } foreach (var file in retrievedFiles) { expectedFileIds[file.UniqueId] = file.MediaId; } CollectionAssert.AreEquivalent(files, retrievedFiles); CollectionAssert.AreEquivalent(expectedFileIds, fileIds); }
private async Task UpsertFiles(ExportedLibraryDto dto) { await mediaFileRepository.UpsertMediaFiles(dto.Files, ids); }