public async Task Test_GetMovieSessions_NoSuccess() { // arrange var responseData = new GetTicketingPageResponse { IsOK = "false", ResultMessage = "ERROR" }; _requesterMock .Setup(x => x.Post <GetTicketingPageResponse>( It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .ReturnsAsync(responseData); // action var service = new LotteService(_requesterMock.Object); var response = await service.GetMovieSessions("10001"); // assert Assert.IsFalse(response.Success); Assert.IsNull(response.Data); Assert.AreEqual("ERROR", response.Message); }
public async Task Test_GetMovieSessions_Success() { // arrange var responseData = new GetTicketingPageResponse { IsOK = "true", ResultMessage = "SUCCESS", MoviePlayDates = new GetTicketingPageDate { IsOK = "true", ResultMessage = "SUCCESS", Items = new DataItem <LottePlayDate> { ItemCount = 2, Items = new List <LottePlayDate> { new LottePlayDate { IsPlayDate = "Y", PlayDate = "20191129" }, new LottePlayDate { IsPlayDate = "N", PlayDate = "20191130" } } } }, Cinemas = new GetTicketingPageCinema { IsOK = "true", ResultMessage = "SUCCESS", Cinemas = new DataItem <LotteCinemaItem> { ItemCount = 2, Items = new List <LotteCinemaItem> { new LotteCinemaItem { CinemaID = "8000", DivisionCode = "1", DetailDivisionCode = "0001", }, new LotteCinemaItem { CinemaID = "8001", DivisionCode = "2", DetailDivisionCode = "0002", } } } } }; _requesterMock .Setup(x => x.Post <GetTicketingPageResponse>( It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .ReturnsAsync(responseData); _requesterMock .Setup(x => x.Post <GetCinemaDetailItem>( It.IsAny <string>(), It.Is <string>(y => y.Contains($"divisionCode:'1'") && y.Contains($"detailDivisionCode:'0001'") && y.Contains($"cinemaID:'8000'")), It.IsAny <string>())) .ReturnsAsync(new GetCinemaDetailItem { IsOK = "true", ResultMessage = "SUCCESS", CinemaDetail = new LotteCinemaItem { CinemaID = "8000", DivisionCode = "1", DetailDivisionCode = "0001", Address = "Cinema 8000" } }); _requesterMock .Setup(x => x.Post <GetCinemaDetailItem>( It.IsAny <string>(), It.Is <string>(y => y.Contains($"divisionCode:'2'") && y.Contains($"detailDivisionCode:'0002'") && y.Contains($"cinemaID:'8001'")), It.IsAny <string>())) .ReturnsAsync(new GetCinemaDetailItem { IsOK = "true", ResultMessage = "SUCCESS", CinemaDetail = new LotteCinemaItem { CinemaID = "8001", DivisionCode = "2", DetailDivisionCode = "0002", Address = "Cinema 8001" } }); _requesterMock .Setup(x => x.Post <GetPlaySequenceResponse>( It.IsAny <string>(), It.Is <string>(y => y.Contains("MethodName:'GetPlaySequence'") && y.Contains("playDate:'20191129'") && y.Contains("cinemaID:'1|0001|8000'") && y.Contains("representationMovieCode:'10001'")), It.IsAny <string>())) .ReturnsAsync(new GetPlaySequenceResponse { IsOK = "true", ResultMessage = "SUCCESS", PlaySeqs = new DataItem <LotteMovieSession> { ItemCount = 2, Items = new List <LotteMovieSession> { new LotteMovieSession { CinemaID = "8000", PlayDt = "20191129", StartTime = "1945" }, new LotteMovieSession { CinemaID = "8000", PlayDt = "20191129", StartTime = "2030" } } } }); _requesterMock .Setup(x => x.Post <GetPlaySequenceResponse>( It.IsAny <string>(), It.Is <string>(y => y.Contains("MethodName:'GetPlaySequence'") && y.Contains("playDate:'20191129'") && y.Contains("cinemaID:'2|0002|8001'") && y.Contains("representationMovieCode:'10001'")), It.IsAny <string>())) .ReturnsAsync(new GetPlaySequenceResponse { IsOK = "true", ResultMessage = "SUCCESS", PlaySeqs = new DataItem <LotteMovieSession> { ItemCount = 2, Items = new List <LotteMovieSession> { new LotteMovieSession { CinemaID = "8001", PlayDt = "20191129", StartTime = "1700" } } } }); // action var service = new LotteService(_requesterMock.Object); var response = await service.GetMovieSessions("10001"); // assert Assert.IsTrue(response.Success); Assert.AreEqual(3, response.Data.Count); Assert.AreEqual("10001", response.Data[0].MovieId); Assert.AreEqual("Cinema 8000", response.Data[0].Location); Assert.AreEqual("20191129", response.Data[0].ShowDate); Assert.AreEqual("1945", response.Data[0].ShowTime); Assert.AreEqual("10001", response.Data[1].MovieId); Assert.AreEqual("Cinema 8000", response.Data[1].Location); Assert.AreEqual("20191129", response.Data[1].ShowDate); Assert.AreEqual("2030", response.Data[1].ShowTime); Assert.AreEqual("10001", response.Data[2].MovieId); Assert.AreEqual("Cinema 8001", response.Data[2].Location); Assert.AreEqual("20191129", response.Data[2].ShowDate); Assert.AreEqual("1700", response.Data[2].ShowTime); }