public async Task GetMovieDetail_Should_Return_Empty()
        {
            // Arrange
            dynamic item = new JObject();

            item.RepresentationMovieCode = "10297";
            item.MovieName       = "THẤT SƠN TÂM LINH";
            item.MovieNameUS     = "THAT SON TAM LINH";
            item.ViewGradeCode   = "18";
            item.ViewGradeCodeUS = "18 years old or older";

            dynamic data = new JObject();

            data.NotMovie = item;

            var response = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(data.ToString(), System.Text.Encoding.UTF8, "application/json")
            };

            _httpHandlerMock.Setup(x => x.PostAsync(It.IsAny <string>(), It.IsAny <HttpContent>())).Returns(Task.FromResult(response));

            var service = new LotteVendorService(_httpHandlerMock.Object);

            // Action
            var result = await service.GetMovieDetail("123");

            // Assert
            Assert.IsNull(result);
        }
        public void GetSessionOfMovie_Should_Throw_NotSupportException()
        {
            // Arrange
            var service = new LotteVendorService(_httpHandlerMock.Object);

            // Action

            // Assert
            Assert.ThrowsExceptionAsync <NotSupportException>(() => service.GetSessionOfMovie("123"));
        }
        public async Task GetNowShowingMovies_Should_Return_OK_When_Empty()
        {
            // Arrange
            dynamic item1 = new JObject();

            item1.RepresentationMovieCode = "10297";
            item1.MovieName       = "THẤT SƠN TÂM LINH";
            item1.MovieNameUS     = "THAT SON TAM LINH";
            item1.ViewGradeCode   = "18";
            item1.ViewGradeCodeUS = "18 years old or older";

            dynamic item2 = new JObject();

            item2.RepresentationMovieCode = "10297";
            item2.MovieName       = "THẤT SƠN TÂM LINH";
            item2.MovieNameUS     = "THAT SON TAM LINH";
            item2.ViewGradeCode   = "18";
            item2.ViewGradeCodeUS = "18 years old or older";

            dynamic movie = new JObject();

            movie.Items = new JArray(item1, item2);

            dynamic data = new JObject();

            data.NotMovies = movie;

            var response = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(data.ToString(), System.Text.Encoding.UTF8, "application/json")
            };

            _httpHandlerMock.Setup(x => x.PostAsync(It.IsAny <string>(), It.IsAny <HttpContent>())).Returns(Task.FromResult(response));

            var service = new LotteVendorService(_httpHandlerMock.Object);

            // Action
            var result = await service.GetNowShowingMovies();

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(0, result.Count);
        }