public void CleanUpWatchedShows()
        {
            // Arrange
            ILogger      logger      = Substitute.For <ILogger>();
            ITraktClient traktClient = new TraktClientProxy(ApplicationId, SecretId, logger);

            ValidateAuthorization(traktClient, new FileOperations());
            IEnumerable <ITraktWatchedShow>  traktWatchedMovies = traktClient.GetWatchedShows();
            IList <TraktSyncHistoryPostShow> historyPostShows   = new List <TraktSyncHistoryPostShow>();

            foreach (ITraktWatchedShow traktWatchedShow in traktWatchedMovies)
            {
                historyPostShows.Add(new TraktSyncHistoryPostShow
                {
                    Ids = traktWatchedShow.Show.Ids
                });
            }

            // Act
            ITraktSyncHistoryRemovePostResponse response = traktClient.RemoveWatchedHistoryItems(new TraktSyncHistoryRemovePost {
                Shows = historyPostShows
            });

            Assert.NotNull(response);
        }
Beispiel #2
0
        public async Task Test_TraktSyncModule_RemoveWatchedHistoryItems()
        {
            string postJson = await TestUtility.SerializeObject(RemoveHistoryPost);

            postJson.Should().NotBeNullOrEmpty();

            TraktClient client = TestUtility.GetOAuthMockClient(REMOVE_WATCHED_HISTORY_ITEMS_URI, postJson, HISTORY_REMOVE_POST_RESPONSE_JSON);
            TraktResponse <ITraktSyncHistoryRemovePostResponse> response = await client.Sync.RemoveWatchedHistoryItemsAsync(RemoveHistoryPost);

            response.Should().NotBeNull();
            response.IsSuccess.Should().BeTrue();
            response.HasValue.Should().BeTrue();
            response.Value.Should().NotBeNull();

            ITraktSyncHistoryRemovePostResponse responseValue = response.Value;

            responseValue.Deleted.Should().NotBeNull();
            responseValue.Deleted.Movies.Should().Be(2);
            responseValue.Deleted.Episodes.Should().Be(72);
            responseValue.Deleted.Shows.Should().NotHaveValue();
            responseValue.Deleted.Seasons.Should().NotHaveValue();

            responseValue.NotFound.Should().NotBeNull();
            responseValue.NotFound.Movies.Should().NotBeNull().And.HaveCount(1);

            ITraktPostResponseNotFoundMovie[] movies = responseValue.NotFound.Movies.ToArray();

            movies[0].Ids.Should().NotBeNull();
            movies[0].Ids.Trakt.Should().Be(0U);
            movies[0].Ids.Slug.Should().BeNullOrEmpty();
            movies[0].Ids.Imdb.Should().Be("tt0000111");
            movies[0].Ids.Tmdb.Should().BeNull();

            responseValue.NotFound.Shows.Should().NotBeNull().And.BeEmpty();
            responseValue.NotFound.Seasons.Should().NotBeNull().And.BeEmpty();
            responseValue.NotFound.Episodes.Should().NotBeNull().And.BeEmpty();

            responseValue.NotFound.HistoryIds.Should().NotBeNull().And.HaveCount(2);
            responseValue.NotFound.HistoryIds.Should().Contain(new List <ulong>()
            {
                23, 42
            });
        }