Пример #1
0
        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);
        }
Пример #2
0
 private async Task UpsertFiles(ExportedLibraryDto dto)
 {
     await mediaFileRepository.UpsertMediaFiles(dto.Files, ids);
 }