public void GetCollectedMovies(List <ITraktCollectionMovie> onlineCollectedMovies, ITraktSyncLastActivities onlineLastSyncActivities, int expectedCollectedMoviesCount) { // Arrange ITraktClient traktClient = Substitute.For <ITraktClient>(); traktClient.GetCollectedMovies().Returns(onlineCollectedMovies); traktClient.GetLastActivities().Returns(onlineLastSyncActivities); IFileOperations fileOperations = Substitute.For <IFileOperations>(); SetFileOperationsForFile(fileOperations, DataPath, FileName.LastActivity.Value); SetFileOperationsForFile(fileOperations, DataPath, FileName.CollectedMovies.Value); SetFileOperationsForFile(fileOperations, DataPath, FileName.WatchedMovies.Value); IMediaPortalServices mediaPortalServices = Substitute.For <IMediaPortalServices>(); mediaPortalServices.GetTraktUserHomePath().Returns(DataPath); // Act ITraktCache traktCache = new TraktCache(mediaPortalServices, traktClient, fileOperations); TraktMovies traktMovies = traktCache.RefreshMoviesCache(); // Assert int actualCollectedMoviesCount = traktMovies.Collected.Count(); Assert.Equal(expectedCollectedMoviesCount, actualCollectedMoviesCount); }
private IList <MovieCollected> GetCollectedMoviesFromOnlineAndSaveItToCache() { IEnumerable <ITraktCollectionMovie> collectedMovies = _traktClient.GetCollectedMovies(); string collectedMoviesPath = Path.Combine(_mediaPortalServices.GetTraktUserHomePath(), FileName.CollectedMovies.Value); IList <ITraktCollectionMovie> traktCollectionMovies = collectedMovies.ToList(); string collectedMoviesJson = TraktSerializationService.SerializeCollectionAsync(traktCollectionMovies).Result; _fileOperations.FileWriteAllText(collectedMoviesPath, collectedMoviesJson, Encoding.UTF8); return(ConvertCollectionMoviesToMovieCollections(traktCollectionMovies)); }