Ejemplo n.º 1
0
 public Repositories.GetMoviesBillboardRepositoryResponse Map(GetMoviesResponse model)
 => new Repositories.GetMoviesBillboardRepositoryResponse
 {
     Page         = model.Page,
     TotalPages   = model.TotalPages,
     TotalResults = model.TotalResults,
     Results      = model.Results?.Select(r => ToRecommendation(r))
 };
Ejemplo n.º 2
0
 private void PrintMovies(GetMoviesResponse getMoviesResponse)
 {
     foreach (var movie in getMoviesResponse.Movies)
     {
         Console.WriteLine("Title: " + movie.Title);
         Console.WriteLine("Name: " + movie.Name);
         Console.WriteLine("Description " + movie.Description);
         Console.WriteLine("-----------------------------------------------------------------");
     }
 }
Ejemplo n.º 3
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);
        }
Ejemplo n.º 4
0
        public MovieResponse[] Search(string term)
        {
            if (string.IsNullOrWhiteSpace(_movieMetaData.movieList))
            {
                return(null);
            }
            GetMoviesResponse getMoviesResponse = new GetMoviesResponse();
            var jsonString  = System.IO.File.ReadAllText(_movieMetaData.movieList);
            var movieObject = JsonConvert.DeserializeObject <GetMoviesResponse>(jsonString);
            var predicate   = MoviePredicates.ContainsTitle(term);
            var response    = movieObject.Movies.Where(predicate);

            return(response.Select(m => _movieFactory.Create(m)).ToArray());
        }
Ejemplo n.º 5
0
        public ActionResult <GetMoviesResponse> Get()
        {
            // get all movies form service
            var movies = _movieService.GetAllMovies();

            // prepare response
            var response = new GetMoviesResponse
            {
                Movies = _mapper.Map <List <MovieResponseViewModel> >(movies)
            };

            // 200 response
            return(HandleSuccessResponse(response));
        }
Ejemplo n.º 6
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);
        }
        public async Task <IActionResult> Search(string titleTerm)
        {
            try
            {
                GetMoviesResponse moviesResponse = new GetMoviesResponse();
                moviesResponse.Movies = new MovieResponse[] { };
                _logger.LogInformation($"Fetching the list of movies based on the searched term");
                if (string.IsNullOrWhiteSpace(titleTerm))
                {
                    return(new ObjectResult(new MovieResponse[0]));
                }
                var response = Task.Run(() => _movieApi.Search(titleTerm));
                await Task.WhenAny(response);

                moviesResponse.Movies = response.Result;
                return(new ObjectResult(moviesResponse));
            }
            catch (System.Exception ex)
            {
                _logger.LogError($"Some error occured:<{ex.Message}>");
                throw;
            }
        }