public void UpsertCharactersInVideos_ShouldntAddExistingCharacters() { var videoDto = GetNewVideoDetails(); var video1Id = repository.CreateVideo(videoDto); var video = repository.GetVideo(video1Id).Result; var characterDto = CreateCharacterUtil.GetNewCharacterDetails(testLibrary.LibraryId); var character = CreateAndRetrieveCharacter(characterDto); var idsMap = new Dictionary <string, long>(); idsMap.Add(video.UniqueId, video1Id); idsMap.Add(character.UniqueId, character.CharacterId); characterRepository.AddCharacterToVideos(character, new List <Video> { video }); repository.UpsertCharactersInVideos(new List <VideoCharacterActorExportDto> { new VideoCharacterActorExportDto(video.UniqueId, character.UniqueId, -1), }, idsMap).ConfigureAwait(false); var expectedList = new List <Video> { video }; var actualList = repository.GetVideosCharacterIsIn(character.CharacterId).Result.Select(c => c.Video).ToList(); CollectionAssert.AreEquivalent(expectedList, actualList); }
public void SearchForFiles_WithCharacters_CharacterWithBothCoverFileAndAttached_OtherCharacterNotFound() { var fileId = repository.CreateMediaFile(new CreateMediaFileDto("", MediaFileType.VIDEO_TYPE, "")); var file = repository.GetMediaFile(fileId); var characterRepository = new CharacterRepository(); var characterDto = CreateCharacterUtil.GetNewCharacterDetails(testLibrary.LibraryId); characterDto.Name = "test 1"; var character1 = characterRepository.CreateCharacter(characterDto); characterDto.Name = "test 2"; characterDto.CoverMediaId = fileId; var character2 = characterRepository.CreateCharacter(characterDto); repository.AddFileToCharacter(character2, file).ConfigureAwait(false); var queries = new List <IMediaFileSearchQueryGenerator>(); queries.Add(new MediaFileWithCharacterNameGenerator("[\"1\", \"2\"]")); var actualFiles = repository.SearchForFiles(GetFirstPage(), queries).Result.Results; var expectedFiles = new List <MediaFile>(); CollectionAssert.AreEquivalent(expectedFiles, actualFiles); }
public void GetVideosCharacterIsNotIn_ShouldFilterVideosByTitle() { var videoDto = GetNewVideoDetails(); videoDto.Title = "Test"; var video1Id = repository.CreateVideo(videoDto); var video = repository.GetVideo(video1Id).Result; var characterDto = CreateCharacterUtil.GetNewCharacterDetails(testLibrary.LibraryId); var character = CreateAndRetrieveCharacter(characterDto); var expectedList = new List <Video>(); var actualList = repository.GetVideosCharacterIsNotIn(GetFirstPage(), testLibrary.LibraryId, character.CharacterId, "x").Result.Results; CollectionAssert.AreEquivalent(expectedList, actualList); }
public void GetVideosCharacterIsNotIn_WhenDifferentCharacterIsInVideo() { var videoDto = GetNewVideoDetails(); var video1Id = repository.CreateVideo(videoDto); var video = repository.GetVideo(video1Id).Result; var characterDto = CreateCharacterUtil.GetNewCharacterDetails(testLibrary.LibraryId); var character = CreateAndRetrieveCharacter(characterDto); var characterInVideo = CreateAndRetrieveCharacter(characterDto); characterRepository.AddCharacterToVideos(characterInVideo, new List <Video> { video }); var expectedList = new List <Video> { video }; var actualList = repository.GetVideosCharacterIsNotIn(GetFirstPage(), testLibrary.LibraryId, character.CharacterId, "").Result.Results; CollectionAssert.AreEquivalent(expectedList, actualList); }
public void DeleteCalendar_ShouldRemoveFromCharacter() { var characterRepository = new CharacterRepository(); var deletedCalendar = CreateAndRetrieveCalendar(); var notDeletedCalendar = CreateAndRetrieveCalendar(); var dto = CreateCharacterUtil.GetNewCharacterDetails(testLibrary.LibraryId); dto.CalendarId = deletedCalendar.CalendarId; var characterId = characterRepository.CreateCharacter(dto); dto.CalendarId = notDeletedCalendar.CalendarId; var character2Id = characterRepository.CreateCharacter(dto); repository.DeleteCalendar(deletedCalendar.CalendarId); var character = characterRepository.GetCharacter(characterId); var character2 = characterRepository.GetCharacter(character2Id); Assert.AreEqual(DatabaseConstants.DEFAULT_ID, character.CalendarId); Assert.AreEqual(notDeletedCalendar.CalendarId, character2.CalendarId); }
public void SearchForFiles_WithCharacters_MatchUppercase() { var characterRepository = new CharacterRepository(); var characterDto = CreateCharacterUtil.GetNewCharacterDetails(testLibrary.LibraryId); characterDto.Name = "test 1"; var character1 = characterRepository.CreateCharacter(characterDto); var fileId = repository.CreateMediaFile(new CreateMediaFileDto("", MediaFileType.VIDEO_TYPE, "")); var file = repository.GetMediaFile(fileId); repository.AddFileToCharacter(character1, file).ConfigureAwait(false); var queries = new List <IMediaFileSearchQueryGenerator>(); queries.Add(new MediaFileWithCharacterNameGenerator("[\"TEST 1\"]")); var actualFiles = repository.SearchForFiles(GetFirstPage(), queries).Result.Results; var expectedFiles = new List <MediaFile> { file }; CollectionAssert.AreEquivalent(expectedFiles, actualFiles); }
private long GetNewCharacterId() { var dto = CreateCharacterUtil.GetNewCharacterDetails(library.LibraryId); return(characterService.CreateCharacter(dto)); }