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);
        }
Exemple #2
0
        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);
        }
Exemple #6
0
        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));
        }