public void TestUpdateSeries() { var calendarRepository = new CalendarRepository(); var calendarId = calendarRepository.CreateCalendar(new CreateCalendarDto("MM-DD-YYYY", "", "", testLibrary.LibraryId)); var seriesToCreate = new CreateSeriesDto("Test library", "https://ingvilt.test.url", -1, "test desc", -1, testLibrary.LibraryId, calendarId); var seriesId = repository.CreateSeries(seriesToCreate); var seriesRetrieved = repository.GetSeries(seriesId).Result; var fileId = mediaFileRepository.CreateMediaFile(new CreateMediaFileDto("C:/test.jpg", MediaFileType.IMAGE_TYPE, "test")); seriesRetrieved.Description += "1"; seriesRetrieved.Name += "2"; seriesRetrieved.SiteURL = "https://ingvilt.test2.url"; seriesRetrieved.LogoFileId = fileId; repository.UpdateSeries(seriesRetrieved); var updatedSeriesRetrieved = repository.GetSeries(seriesId).Result; Assert.AreEqual(seriesRetrieved.SeriesId, updatedSeriesRetrieved.SeriesId); Assert.AreEqual(seriesRetrieved.Name, updatedSeriesRetrieved.Name); Assert.AreEqual(seriesRetrieved.Description, updatedSeriesRetrieved.Description); Assert.AreEqual(seriesRetrieved.LibraryId, updatedSeriesRetrieved.LibraryId); Assert.AreEqual(seriesRetrieved.LogoFileId, updatedSeriesRetrieved.LogoFileId); Assert.AreEqual(seriesRetrieved.SiteURL, updatedSeriesRetrieved.SiteURL); Assert.AreEqual(seriesRetrieved.CalendarId, updatedSeriesRetrieved.CalendarId); CollectionAssert.AreEquivalent(new List <Series>() { updatedSeriesRetrieved }, repository.GetSeries(GetFirstPage()).Result.Results); }
public long CreateSeries(CreateSeriesDto dto) { using (var db = DataAccessUtil.CreateSqlConnection()) { db.Open(); var command = GetCreateSeriesCommand(db, dto, UniqueIdUtil.GenerateUniqueId(), false); command.ExecuteNonQuery(); return(QueryUtil.GetLastInsertedPrimaryKey(db)); } }
public void GetDeletedSeriesByPublisher_WithNoDeletedSeries() { var publisherId = publisherRepository.CreatePublisher(new CreatePublisherDto("test", "", -1, "", testLibrary.LibraryId)); var seriesToCreate = new CreateSeriesDto("Test library", "https://ingvilt.test.url", -1, "test desc", publisherId, testLibrary.LibraryId); repository.CreateSeries(seriesToCreate); var allSeries = repository.GetDeletedSeriesByPublisher(publisherId, GetFirstPage()).Result.Results; CollectionAssert.AreEquivalent(new List <Series>(), allSeries); }
public SeriesSequenceRepositoryTests() { testLibrary = CreateAndRetrieveLibrary(new CreateLibraryDto("test")); var seriesDto = new CreateSeriesDto("test", "", -1, "", -1, testLibrary.LibraryId); testSeries = seriesService.CreateAndRetrieveSeries(seriesDto); otherSeries = seriesService.CreateAndRetrieveSeries(seriesDto); testVideo = CreateAndRetrieveVideo(testLibrary.LibraryId, testSeries.SeriesId); otherVideo = CreateAndRetrieveVideo(testLibrary.LibraryId, otherSeries.SeriesId); }
public void ShouldNotDeleteSeries_WhenDifferentPublisherIsDeleted() { var publisherId = publisherRepository.CreatePublisher(new CreatePublisherDto("test", "", -1, "", testLibrary.LibraryId)); var seriesToCreate = new CreateSeriesDto("Test library", "https://ingvilt.test.url", -1, "test desc", -1, testLibrary.LibraryId); repository.CreateSeries(seriesToCreate); publisherRepository.DeletePublisher(publisherId).ConfigureAwait(false); var allSeries = repository.GetDeletedSeriesByPublisher(publisherId, GetFirstPage()).Result.Results; CollectionAssert.AreEquivalent(new List <Series>(), allSeries); }
public void GetSeriesToWatchInLibrary_WithNoVideosInSeries() { var seriesToCreate = new CreateSeriesDto("Test library", "https://ingvilt.test.url", -1, "test desc", -1, testLibrary.LibraryId, -1, true); var seriesId = repository.CreateSeries(seriesToCreate); var series = repository.GetSeries(seriesId).Result; var expectedSeries = new List <Series> { series }; var actualSeries = repository.GetSeriesToWatchInLibrary(GetFirstPage(), testLibrary.LibraryId, "").Result.Results; CollectionAssert.AreEquivalent(expectedSeries, actualSeries); }
public void ShouldNotDeleteSeries_WhenDifferentLibraryDeleted() { var otherLibrary = CreateAndRetrieveLibrary(new CreateLibraryDto("test 2")); var seriesToCreate = new CreateSeriesDto("Test library", "https://ingvilt.test.url", -1, "test desc", -1, otherLibrary.LibraryId); var seriesId = repository.CreateSeries(seriesToCreate); var seriesRetrieved = repository.GetSeries(seriesId).Result; libraryRepository.DeleteLibrary(testLibrary.LibraryId); CollectionAssert.AreEquivalent(new List <Series>(), repository.GetDeletedSeries(GetFirstPage()).Result.Results); CollectionAssert.AreEquivalent(new List <Series>() { seriesRetrieved }, repository.GetSeries(GetFirstPage()).Result.Results); }
public void TestCreateSeries_WithNullLogo() { var seriesToCreate = new CreateSeriesDto("Test library", "https://ingvilt.test.url", -1, "test desc", -1, testLibrary.LibraryId); var seriesId = repository.CreateSeries(seriesToCreate); var seriesRetrieved = repository.GetSeries(seriesId).Result; Assert.AreEqual(seriesId, seriesRetrieved.SeriesId); Assert.AreEqual(seriesToCreate.Name, seriesRetrieved.Name); Assert.AreEqual(seriesToCreate.Description, seriesRetrieved.Description); Assert.AreEqual(seriesToCreate.LibraryId, seriesRetrieved.LibraryId); Assert.AreEqual(seriesToCreate.LogoFileId, seriesRetrieved.LogoFileId); Assert.AreEqual(seriesToCreate.SiteURL, seriesRetrieved.SiteURL); Assert.IsNotNull(seriesRetrieved.UniqueId); }
public void TestCreateSeries_WithLogo() { var fileId = mediaFileRepository.CreateMediaFile(new CreateMediaFileDto("C:/test.jpg", MediaFileType.IMAGE_TYPE, "test")); var seriesToCreate = new CreateSeriesDto("Test library", "https://ingvilt.test.url", fileId, "test desc", -1, testLibrary.LibraryId); var seriesId = repository.CreateSeries(seriesToCreate); var seriesRetrieved = repository.GetSeries(seriesId).Result; Assert.AreEqual(seriesId, seriesRetrieved.SeriesId); Assert.AreEqual(seriesToCreate.Name, seriesRetrieved.Name); Assert.AreEqual(seriesToCreate.Description, seriesRetrieved.Description); Assert.AreEqual(seriesToCreate.LibraryId, seriesRetrieved.LibraryId); Assert.AreEqual(seriesToCreate.LogoFileId, seriesRetrieved.LogoFileId); Assert.AreEqual(seriesToCreate.SiteURL, seriesRetrieved.SiteURL); }
public void TestUpdateSeries_ShouldNotUpdateDifferentSeries() { var seriesDto = new CreateSeriesDto("Test library", "https://ingvilt.test.url", -1, "test desc", -1, testLibrary.LibraryId); var seriesToUpdateId = repository.CreateSeries(seriesDto); var seriesNotUpdatedId = repository.CreateSeries(seriesDto); var seriesToUpdate = repository.GetSeries(seriesToUpdateId).Result; seriesToUpdate.Description += "1"; repository.UpdateSeries(seriesToUpdate); var seriesToNotUpdate = repository.GetSeries(seriesNotUpdatedId).Result; Assert.AreNotEqual(seriesToUpdate.Description, seriesToNotUpdate.Description); }
public void ShouldNotRestoreSeriesDeletedNormally_WhenLibraryRestored() { var seriesToCreate = new CreateSeriesDto("Test library", "https://ingvilt.test.url", -1, "test desc", -1, testLibrary.LibraryId); var seriesId = repository.CreateSeries(seriesToCreate); repository.DeleteSeries(seriesId).ConfigureAwait(false); libraryRepository.DeleteLibrary(testLibrary.LibraryId); libraryRepository.RestoreDeletedLibrary(testLibrary.LibraryId); var seriesRetrieved = repository.GetSeries(seriesId).Result; CollectionAssert.AreEquivalent(new List <Series>() { seriesRetrieved }, repository.GetDeletedSeries(GetFirstPage()).Result.Results); CollectionAssert.AreEquivalent(new List <Series>(), repository.GetSeries(GetFirstPage()).Result.Results); }
public void TestCreateSeries_WithCalendar() { var calendarRepository = new CalendarRepository(); var calendarId = calendarRepository.CreateCalendar(new CreateCalendarDto("MM-DD-YYYY", "", "", testLibrary.LibraryId)); var seriesToCreate = new CreateSeriesDto("Test library", "https://ingvilt.test.url", -1, "test desc", -1, testLibrary.LibraryId, calendarId); var seriesId = repository.CreateSeries(seriesToCreate); var seriesRetrieved = repository.GetSeries(seriesId).Result; Assert.AreEqual(seriesId, seriesRetrieved.SeriesId); Assert.AreEqual(seriesToCreate.Name, seriesRetrieved.Name); Assert.AreEqual(seriesToCreate.Description, seriesRetrieved.Description); Assert.AreEqual(seriesToCreate.LibraryId, seriesRetrieved.LibraryId); Assert.AreEqual(seriesToCreate.LogoFileId, seriesRetrieved.LogoFileId); Assert.AreEqual(seriesToCreate.SiteURL, seriesRetrieved.SiteURL); Assert.AreEqual(seriesToCreate.CalendarId, seriesRetrieved.CalendarId); Assert.AreNotEqual(DatabaseConstants.DEFAULT_ID, seriesRetrieved.CalendarId); }
public void GetSeriesToWatchInLibrary_ShouldntIncludeSeriesNotWorthWatching() { var videoRepository = new VideoRepository(); var seriesToCreate = new CreateSeriesDto("Test library", "https://ingvilt.test.url", -1, "test desc", -1, testLibrary.LibraryId, -1, false); var seriesId = repository.CreateSeries(seriesToCreate); var videoToCreate = CreateVideoUtil.GetNewVideoDetails(testLibrary.LibraryId, -1, seriesId); videoRepository.CreateVideo(videoToCreate); videoToCreate.TimesWatched = 5; videoRepository.CreateVideo(videoToCreate); var expectedSeries = new List <Series> { }; var actualSeries = repository.GetSeriesToWatchInLibrary(GetFirstPage(), testLibrary.LibraryId, "").Result.Results; CollectionAssert.AreEquivalent(expectedSeries, actualSeries); }
private SqliteCommand GetCreateSeriesCommand(SqliteConnection db, CreateSeriesDto dto, string guid, bool ignoreDuplicates) { var ignoreClause = ignoreDuplicates ? "OR IGNORE" : ""; var command = new SqliteCommand(); command.Connection = db; command.CommandText = $"INSERT {ignoreClause} INTO series(name, site_url, logo_image, description, publisher_id, library_id, deleted, deletion_due_to_cascade, calendar_id, unique_id, worth_watching) VALUES(@Name, @Url, @LogoId, @Description, @PublisherId, @LibraryId, false, false, @CalendarId, @UniqueId, @WorthWatching)"; command.Parameters.AddWithValue("@Name", dto.Name); command.Parameters.AddWithValue("@Url", dto.SiteURL); command.Parameters.AddWithValue("@Description", dto.Description); command.Parameters.AddWithValue("@PublisherId", QueryUtil.GetNullableIdForStorage(dto.PublisherId)); command.Parameters.AddWithValue("@LibraryId", dto.LibraryId); command.Parameters.AddWithValue("@LogoId", QueryUtil.GetNullableIdForStorage(dto.LogoFileId)); command.Parameters.AddWithValue("@CalendarId", QueryUtil.GetNullableIdForStorage(dto.CalendarId)); command.Parameters.AddWithValue("@UniqueId", guid); command.Parameters.AddWithValue("@WorthWatching", dto.WorthWatching); return(command); }
public void GetSeriesToWatchInLibrary_WithNotStartedSeriesToWatch() { var videoRepository = new VideoRepository(); var seriesToCreate = new CreateSeriesDto("Test library", "https://ingvilt.test.url", -1, "test desc", -1, testLibrary.LibraryId, -1, true); var seriesId = repository.CreateSeries(seriesToCreate); var videoToCreate = CreateVideoUtil.GetNewVideoDetails(testLibrary.LibraryId, -1, seriesId); videoRepository.CreateVideo(videoToCreate); videoRepository.CreateVideo(videoToCreate); var expectedSeries = new List <Series> { repository.GetSeries(seriesId).Result }; var actualSeries = repository.GetSeriesToWatchInLibrary(GetFirstPage(), testLibrary.LibraryId, "").Result.Results; CollectionAssert.AreEquivalent(expectedSeries, actualSeries); }
public Series CreateAndRetrieveSeries(CreateSeriesDto dto) { long libraryId = CreateSeries(dto); return(new Series(libraryId, dto)); }
public long CreateSeries(CreateSeriesDto dto) { return(seriesRepository.CreateSeries(dto)); }
private Series CreateAndRetrieveSeries(CreateSeriesDto dto) { var id = repository.CreateSeries(dto); return(repository.GetSeries(id).Result); }