Example #1
0
        public void GetCollectedEpisodes(List <ITraktCollectionShow> onlineCollectedShows, ITraktSyncLastActivities onlineLastSyncActivities, int expectedCollectedEpisodesCount)
        {
            // Arrange
            ITraktClient traktClient = Substitute.For <ITraktClient>();

            traktClient.GetCollectedShows().Returns(onlineCollectedShows);
            traktClient.GetLastActivities().Returns(onlineLastSyncActivities);

            IFileOperations fileOperations = Substitute.For <IFileOperations>();

            SetFileOperationsForFile(fileOperations, DataPath, FileName.LastActivity.Value);
            SetFileOperationsForFile(fileOperations, DataPath, FileName.CollectedEpisodes.Value);
            SetFileOperationsForFile(fileOperations, DataPath, FileName.WatchedEpisodes.Value);

            IMediaPortalServices mediaPortalServices = Substitute.For <IMediaPortalServices>();

            mediaPortalServices.GetTraktUserHomePath().Returns(DataPath);

            // Act
            ITraktCache   traktCache    = new TraktCache(mediaPortalServices, traktClient, fileOperations);
            TraktEpisodes traktEpisodes = traktCache.RefreshSeriesCache();

            // Assert
            int actualCollectedEpisodesCount = traktEpisodes.Collected.Count();

            Assert.Equal(expectedCollectedEpisodesCount, actualCollectedEpisodesCount);
        }
Example #2
0
        private IList <EpisodeCollected> GetCollectedEpisodesFromOnlineAndSaveItToCache()
        {
            IEnumerable <ITraktCollectionShow> collectedShows = _traktClient.GetCollectedShows();
            string collectedEpisodesPath = Path.Combine(_mediaPortalServices.GetTraktUserHomePath(), FileName.CollectedEpisodes.Value);
            IList <ITraktCollectionShow> traktCollectionShows = collectedShows.ToList();
            string collectedEpisodesJson = TraktSerializationService.SerializeCollectionAsync(traktCollectionShows).Result;

            _fileOperations.FileWriteAllText(collectedEpisodesPath, collectedEpisodesJson, Encoding.UTF8);

            return(ConvertCollectionShowsToCollectedEpisodes(traktCollectionShows));
        }