Example #1
0
        public async Task Test_GetShowingMovies_Success()
        {
            // arrange
            var responseData = new GetMoviesResponse
            {
                IsOK          = "true",
                ResultMessage = "SUCCESS",
                Movies        = new DataItem <LotteMovieShortView>
                {
                    ItemCount = 2,
                    Items     = new List <LotteMovieShortView>
                    {
                        new LotteMovieShortView
                        {
                            RepresentationMovieCode = "10001",
                            MovieName      = "Movie 1",
                            ReleaseDate    = "20191129",
                            ViewEvaluation = (decimal)7.34
                        },
                        new LotteMovieShortView
                        {
                            RepresentationMovieCode = "10002",
                            MovieName      = "Movie 2",
                            ReleaseDate    = "20191130",
                            ViewEvaluation = (decimal)8.82
                        }
                    }
                }
            };

            _requesterMock
            .Setup(x => x.Post <GetMoviesResponse>(It.IsAny <string>(), It.IsAny <object>(), It.IsAny <string>()))
            .ReturnsAsync(responseData);

            // action
            var service  = new LotteService(_requesterMock.Object);
            var response = await service.GetShowingMovies();

            // assert
            Assert.IsTrue(response.Success);
            Assert.AreEqual(2, response.Data.Count);

            Assert.AreEqual("10001", response.Data[0].Id);
            Assert.AreEqual("Movie 1", response.Data[0].Name);
            Assert.AreEqual(new DateTime(2019, 11, 29), response.Data[0].ReleaseDate);
            Assert.AreEqual((decimal)7.34, response.Data[0].Rating);
            Assert.IsNull(response.Data[0].Description);

            Assert.AreEqual("10002", response.Data[1].Id);
            Assert.AreEqual("Movie 2", response.Data[1].Name);
            Assert.AreEqual(new DateTime(2019, 11, 30), response.Data[1].ReleaseDate);
            Assert.AreEqual((decimal)8.82, response.Data[1].Rating);
            Assert.IsNull(response.Data[1].Description);
        }
Example #2
0
        public async Task Test_GetShowingMovies_Failed()
        {
            // arrange
            _requesterMock
            .Setup(x => x.Post <GetMoviesResponse>(It.IsAny <string>(), It.IsAny <object>(), It.IsAny <string>()))
            .ThrowsAsync(new Exception("Request failed"));

            // action
            var service  = new LotteService(_requesterMock.Object);
            var response = await service.GetShowingMovies();

            // assert
            Assert.IsFalse(response.Success);
            Assert.IsNull(response.Data);
            Assert.AreEqual("Request failed", response.Message);
        }
Example #3
0
 /// <summary>
 /// Get current showing movies (new domain)
 /// </summary>
 /// <param name="type">Type of vender (ex: Galaxy, Lotte, ...)</param>
 /// <returns>List of current show movie model with status and message</returns>
 public async Task <MovieListResult> GetShowingMovies(VendorType type, string domain)
 {
     if (type == VendorType.GalaxyCinema)
     {
         var galaxyService = new GalaxyService(domain, _requester);
         return(await galaxyService.GetShowingMovies());
     }
     else if (type == VendorType.Lotteria)
     {
         var lotteService = new LotteService(domain, _requester);
         return(await lotteService.GetShowingMovies());
     }
     else
     {
         return(new MovieListResult
         {
             Success = false,
             Message = "Not implemented"
         });
     };
 }
Example #4
0
        public async Task Test_GetShowingMovies_NoSuccess()
        {
            // arrange
            var responseData = new GetMoviesResponse
            {
                IsOK          = "false",
                ResultMessage = "ERROR"
            };

            _requesterMock
            .Setup(x => x.Post <GetMoviesResponse>(It.IsAny <string>(), It.IsAny <object>(), It.IsAny <string>()))
            .ReturnsAsync(responseData);

            // action
            var service  = new LotteService(_requesterMock.Object);
            var response = await service.GetShowingMovies();

            // assert
            Assert.IsFalse(response.Success);
            Assert.IsNull(response.Data);
            Assert.AreEqual("ERROR", response.Message);
        }