Example #1
0
        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);
        }
Example #2
0
        public async Task Test_GetMovieSessions_Failed()
        {
            // arrange
            _requesterMock
            .Setup(x => x.Post <GetTicketingPageResponse>(
                       It.IsAny <string>(),
                       It.IsAny <string>(),
                       It.IsAny <string>()))
            .ThrowsAsync(new Exception("Request failed"));

            // action
            var service  = new LotteService(_requesterMock.Object);
            var response = await service.GetMovieSessions("10001");

            // assert
            Assert.IsFalse(response.Success);
            Assert.IsNull(response.Data);
            Assert.AreEqual("Request failed", response.Message);
        }
Example #3
0
 /// <summary>
 /// Get movie sessions (new 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>List of movie sessions with status and message with status and message</returns>
 public async Task <MovieSessionListResult> GetMovieSessions(VendorType type, string domain, string movieId)
 {
     if (type == VendorType.GalaxyCinema)
     {
         var galaxyService = new GalaxyService(domain, _requester);
         return(await galaxyService.GetMovieSessions(movieId));
     }
     else if (type == VendorType.Lotteria)
     {
         var lotteService = new LotteService(domain, _requester);
         return(await lotteService.GetMovieSessions(movieId));
     }
     else
     {
         return(new MovieSessionListResult
         {
             Success = false,
             Message = "Not implemented"
         });
     };
 }
Example #4
0
        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);
        }