public async Task Test_GetMovieDetails_NoSuccess() { // arrange var responseData = new GetMovieDetailResponse { IsOK = "false", ResultMessage = "NOT FOUND" }; _requesterMock .Setup(x => x.Post <GetMovieDetailResponse>( It.IsAny <string>(), It.Is <string>(y => y.Contains("representationMovieCode:'10001'")), It.IsAny <string>())) .ReturnsAsync(responseData); // action var service = new LotteService(_requesterMock.Object); var response = await service.GetMovieDetails("10001"); // assert Assert.IsFalse(response.Success); Assert.IsNull(response.Data); Assert.AreEqual("NOT FOUND", response.Message); }
public async Task Test_GetMovieDetails_Failed() { // arrange _requesterMock .Setup(x => x.Post <GetMovieDetailResponse>( It.IsAny <string>(), It.Is <string>(y => y.Contains("representationMovieCode:'10001'")), It.IsAny <string>())) .ThrowsAsync(new Exception("Request failed")); // action var service = new LotteService(_requesterMock.Object); var response = await service.GetMovieDetails("10001"); // assert Assert.IsFalse(response.Success); Assert.IsNull(response.Data); Assert.AreEqual("Request failed", response.Message); }
/// <summary> /// Get movie details (default domain) /// </summary> /// <param name="type">Type of vender (ex: Galaxy, Lotte, ...)</param> /// <param name="movieId">Moive's id, type string: different id's type between vendors (string is the best type here)</param> /// <returns>Detail of movie with status and message</returns> public async Task <MovieResult> GetMovieDetails(VendorType type, string movieId) { if (type == VendorType.GalaxyCinema) { var galaxyService = new GalaxyService(_requester); return(await galaxyService.GetMovieDetails(movieId)); } else if (type == VendorType.Lotteria) { var lotteService = new LotteService(_requester); return(await lotteService.GetMovieDetails(movieId)); } else { return(new MovieResult { Success = false, Message = "Not implemented" }); }; }
public async Task Test_GetMovieDetails_Success() { // arrange var responseData = new GetMovieDetailResponse { IsOK = "true", ResultMessage = "SUCCESS", Movie = new LotteMovie { RepresentationMovieCode = "10001", MovieName = "Movie 1", ReleaseDate = "20191129", ViewEvaluation = (decimal)7.34, Synopsis = "Description 1" } }; _requesterMock .Setup(x => x.Post <GetMovieDetailResponse>( It.IsAny <string>(), It.Is <string>(y => y.Contains("representationMovieCode:'10001'")), It.IsAny <string>())) .ReturnsAsync(responseData); // action var service = new LotteService(_requesterMock.Object); var response = await service.GetMovieDetails("10001"); // assert Assert.IsTrue(response.Success); Assert.AreEqual("10001", response.Data.Id); Assert.AreEqual("Movie 1", response.Data.Name); Assert.AreEqual(new DateTime(2019, 11, 29), response.Data.ReleaseDate); Assert.AreEqual((decimal)7.34, response.Data.Rating); Assert.AreEqual("Description 1", response.Data.Description); }