// happy path public async Task CalledWithMovieOnList_ReturnsSuccess() { GetItemStatusOnTargetListResult result = await _client.GetItemStatusOnTargetList(listId : _listId1, movieId : _movieId1); _output.WriteLine($"Server responded with {result.HttpStatusCode}"); Assert.True(result.HttpStatusCode == System.Net.HttpStatusCode.OK); }
// awkward path public async Task CalledOnInvalidList_ReturnsOk200() { GetItemStatusOnTargetListResult result = await _client.GetItemStatusOnTargetList(listId : _invalidList, movieId : _movieId1); _output.WriteLine($"Json: {result.HttpStatusCode}"); _output.WriteLine($"Json: {result.Json}"); Assert.True(result.HttpStatusCode == System.Net.HttpStatusCode.OK); }
// happy path public async Task CalledWithMovieNotOnList_ReturnsFalseAsResult() { GetItemStatusOnTargetListResult result = await _client.GetItemStatusOnTargetList(listId : _listIdNotContainingMovieId1, movieId : _movieId1); _output.WriteLine($"Json: {result.Json}"); ItemStatusOnTargetList statusObject = JsonConvert.DeserializeObject <ItemStatusOnTargetList>(result.Json); Assert.False(statusObject.ItemPresent); }
// awkward path public async Task CalledOnInvalidList_ReturnsFalseAsResult() { GetItemStatusOnTargetListResult result = await _client.GetItemStatusOnTargetList(listId : _invalidList, movieId : _movieId1); _output.WriteLine($"Json: {result.HttpStatusCode}"); _output.WriteLine($"Json: {result.Json}"); ItemStatusOnTargetList statusObject = JsonConvert.DeserializeObject <ItemStatusOnTargetList>(result.Json); Assert.False(statusObject.ItemPresent); }
// awkward path public async Task CalledWithIntegerListId_AlwaysReturnsNullAsIdField(int _list) { GetItemStatusOnTargetListResult result = await _client.GetItemStatusOnTargetList(listId : _list, movieId : _movieId1); _output.WriteLine($"Json: {result.HttpStatusCode}"); _output.WriteLine($"Json: {result.Json}"); ItemStatusOnTargetList statusObject = JsonConvert.DeserializeObject <ItemStatusOnTargetList>(result.Json); Assert.Null(statusObject.Id); }
// https://developers.themoviedb.org/3/lists/check-item-status public async Task <GetItemStatusOnTargetListResult> GetItemStatusOnTargetList(int listId, int movieId, int retryCount = 0, int delayMilliseconds = 1000) { string baseUrl = BASE_Address + BASE_Path + LIST_path + "/" + listId + ITEM_STATUS_Path; var query = new Dictionary <string, string>(); query.Add(API_KEY_Key, ApiKey); query.Add(MOVIE_ID_Key, movieId.ToString()); string requestUri = QueryHelpers.AddQueryString(baseUrl, query); GetItemStatusOnTargetListResult result = await GetResponse <GetItemStatusOnTargetListResult>(retryCount, delayMilliseconds, requestUri); return(result); }