Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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));
            }
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
        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);
        }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 14
0
        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);
        }
Ejemplo n.º 15
0
        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);
        }
Ejemplo n.º 16
0
        public Series CreateAndRetrieveSeries(CreateSeriesDto dto)
        {
            long libraryId = CreateSeries(dto);

            return(new Series(libraryId, dto));
        }
Ejemplo n.º 17
0
 public long CreateSeries(CreateSeriesDto dto)
 {
     return(seriesRepository.CreateSeries(dto));
 }
Ejemplo n.º 18
0
        private Series CreateAndRetrieveSeries(CreateSeriesDto dto)
        {
            var id = repository.CreateSeries(dto);

            return(repository.GetSeries(id).Result);
        }