public void UpdateVideo_ChangingSeries_ShouldRemoveVideoFromSequence() { var seriesService = new SeriesService(); var sequenceRepository = new SeriesSequenceRepository(); var series = seriesService.CreateAndRetrieveSeries(GetNewSeriesDetails()); var videoDto = GetNewVideoDetails(testLibrary, null, series); var videoToUpdateId = repository.CreateVideo(videoDto); var videoToUpdate = repository.GetVideo(videoToUpdateId).Result; var sequenceDto = new CreateSeriesSequenceDto(series.SeriesId, "title", "desc", -1, true, 2); var sequenceId = sequenceRepository.CreateVideoSequence(sequenceDto); var sequence = sequenceRepository.GetSeriesSequence(sequenceId); sequenceRepository.AddVideoToSequence(videoToUpdateId, sequence.SequenceId); videoToUpdate.SeriesId = DatabaseConstants.DEFAULT_ID; repository.UpdateVideo(videoToUpdate).ConfigureAwait(false); var updatedVideo = repository.GetVideo(videoToUpdateId).Result; var details = sequenceRepository.GetVideoSeriesChronologyDetails(videoToUpdateId); Assert.AreEqual(DatabaseConstants.DEFAULT_ID, updatedVideo.SeriesId); Assert.AreEqual(null, details); }
public void RemoveVideoFromSequence_ShouldDecrementOrderOfLaterVideos() { var seasonNumber = 5; var dto = new CreateSeriesSequenceDto(testSeries.SeriesId, "title", "desc", -1, true, seasonNumber); var sequence = CreateAndRetrieveVideoSequence(dto); var thirdVideo = CreateAndRetrieveVideo(testLibrary.LibraryId, testSeries.SeriesId); var fourthVideo = CreateAndRetrieveVideo(testLibrary.LibraryId, testSeries.SeriesId); repository.AddVideoToSequence(otherVideo.VideoId, sequence.SequenceId); repository.AddVideoToSequence(testVideo.VideoId, sequence.SequenceId); repository.AddVideoToSequence(thirdVideo.VideoId, sequence.SequenceId); repository.AddVideoToSequence(fourthVideo.VideoId, sequence.SequenceId); Assert.AreEqual(1, repository.GetVideoSeriesChronologyDetails(otherVideo.VideoId).EpisodeNumber); Assert.AreEqual(2, repository.GetVideoSeriesChronologyDetails(testVideo.VideoId).EpisodeNumber); Assert.AreEqual(3, repository.GetVideoSeriesChronologyDetails(thirdVideo.VideoId).EpisodeNumber); Assert.AreEqual(4, repository.GetVideoSeriesChronologyDetails(fourthVideo.VideoId).EpisodeNumber); repository.RemoveVideoFromSequence(testVideo.VideoId, sequence.SequenceId); Assert.AreEqual(1, repository.GetVideoSeriesChronologyDetails(otherVideo.VideoId).EpisodeNumber); Assert.AreEqual(2, repository.GetVideoSeriesChronologyDetails(thirdVideo.VideoId).EpisodeNumber); Assert.AreEqual(3, repository.GetVideoSeriesChronologyDetails(fourthVideo.VideoId).EpisodeNumber); }
public void AddVideosToSequence() { var seasonNumber = 5; var dto = new CreateSeriesSequenceDto(testSeries.SeriesId, "title", "desc", -1, true, seasonNumber); var sequence = CreateAndRetrieveVideoSequence(dto); var thirdVideo = CreateAndRetrieveVideo(testLibrary.LibraryId, testSeries.SeriesId); var fourthVideo = CreateAndRetrieveVideo(testLibrary.LibraryId, testSeries.SeriesId); var videos = new List <long>() { otherVideo.VideoId, testVideo.VideoId, thirdVideo.VideoId, fourthVideo.VideoId }; repository.AddVideosToSequence(videos, sequence.SequenceId); var video1Details = repository.GetVideoSeriesChronologyDetails(otherVideo.VideoId); Assert.AreEqual(seasonNumber, video1Details.SeasonNumber); Assert.AreEqual(1, video1Details.EpisodeNumber); var video2Details = repository.GetVideoSeriesChronologyDetails(testVideo.VideoId); Assert.AreEqual(seasonNumber, video2Details.SeasonNumber); Assert.AreEqual(2, video2Details.EpisodeNumber); var video3Details = repository.GetVideoSeriesChronologyDetails(thirdVideo.VideoId); Assert.AreEqual(seasonNumber, video3Details.SeasonNumber); Assert.AreEqual(3, video3Details.EpisodeNumber); var video4Details = repository.GetVideoSeriesChronologyDetails(fourthVideo.VideoId); Assert.AreEqual(seasonNumber, video4Details.SeasonNumber); Assert.AreEqual(4, video4Details.EpisodeNumber); }
public void GetVideosNotInSeriesSequence_WithNonSeasonSequence_ShouldntIncludeAlreadyIncludedVideos() { var nonSeasonDto = new CreateSeriesSequenceDto(testSeries.SeriesId, "title", "desc", -1, false, 1); var nonSeasonSequence = CreateAndRetrieveVideoSequence(nonSeasonDto); repository.AddVideoToSequence(testVideo.VideoId, nonSeasonSequence.SequenceId); var videos = videoRepository.GetVideosNotInSeriesSequence(nonSeasonSequence, nonSeasonSequence.SeriesId, "", GetFirstVideoPage()).Result.Results; CollectionAssert.AreEquivalent(new List <Video>(), videos); }
public void GetVideosNotInSeriesSequence_ShouldntIncludeDeletedVideos() { var dto = new CreateSeriesSequenceDto(testSeries.SeriesId, "title", "desc", -1, false, 1); var sequence = CreateAndRetrieveVideoSequence(dto); videoRepository.DeleteVideo(testVideo.VideoId); var videos = videoRepository.GetVideosNotInSeriesSequence(sequence, sequence.SeriesId, "", GetFirstVideoPage()).Result.Results; CollectionAssert.AreEquivalent(new List <Video>(), videos); }
public void GetVideoSeriesChronologyDetails_WithVideoInANonSeasonSequence() { var dto = new CreateSeriesSequenceDto(testSeries.SeriesId, "title", "desc", -1, false, 2); var sequence = CreateAndRetrieveVideoSequence(dto); repository.AddVideoToSequence(testVideo.VideoId, sequence.SequenceId); var details = repository.GetVideoSeriesChronologyDetails(testVideo.VideoId); Assert.AreEqual(null, details); }
public void TestGetSeriesSequence() { var seasonNumber = 5; var dto = new CreateSeriesSequenceDto(testSeries.SeriesId, "title", "desc", -1, true, seasonNumber); var videoSequence = CreateAndRetrieveVideoSequence(dto); var seriesSequence = repository.GetSeriesSequence(videoSequence.SequenceId); Assert.AreEqual(seasonNumber, seriesSequence.SeasonNumber); Assert.AreEqual(true, seriesSequence.IsSeason); Assert.AreEqual(videoSequence.Title, seriesSequence.Title); Assert.AreEqual(videoSequence.Description, seriesSequence.Description); Assert.AreEqual(videoSequence.CoverFile, seriesSequence.CoverFile); }
public void GetVideoSeriesChronologyDetails_WithVideoInASequence() { var seasonNumber = 5; var dto = new CreateSeriesSequenceDto(testSeries.SeriesId, "title", "desc", -1, true, seasonNumber); var sequence = CreateAndRetrieveVideoSequence(dto); repository.AddVideoToSequence(testVideo.VideoId, sequence.SequenceId); var details = repository.GetVideoSeriesChronologyDetails(testVideo.VideoId); Assert.AreEqual(seasonNumber, details.SeasonNumber); Assert.AreEqual(1, details.EpisodeNumber); }
public SeriesSequence CreateAndRetrieveSeriesSequence(CreateSeriesSequenceDto dto) { var sequencesId = CreateSeriesSequence(dto); return(new SeriesSequence(sequencesId, dto)); }
public long CreateSeriesSequence(CreateSeriesSequenceDto dto) { return(sequencesRepository.CreateVideoSequence(dto)); }