Esempio n. 1
0
        public void ShouldReturnValidRequest()
        {
            // Arrange
            var movieId     = "1";
            var searchModel = new MovieIdModel(movieId);
            var domain      = "http://www.omdbapi.com";
            var apikey      = "c6788679";

            var movieGatewaySettingsProvider = GetMock <IGatewaySettingsProvider>();

            movieGatewaySettingsProvider.Setup(x => x.Domain).Returns(domain);
            movieGatewaySettingsProvider.Setup(x => x.ApiKey).Returns(apikey);

            // Act
            var request = ClassUnderTest.Build(searchModel);

            // Assert
            Assert.AreEqual(
                apikey,
                request.Parameters.Where(x => x.Name == "apikey").Select(x => x.Value).FirstOrDefault()
                );

            Assert.AreEqual(
                movieId,
                request.Parameters.Where(x => x.Name == "i").Select(x => x.Value).FirstOrDefault()
                );
        }
Esempio n. 2
0
        public IRestRequest Build(MovieIdModel movieIdModel)
        {
            var request = new MovieRequest(
                _gatewaySettingsProvider.ApiKey,
                movieIdModel.MovieId);

            return(request);
        }
Esempio n. 3
0
        public Option <Movie> Build(MovieIdModel movieIdModel)
        {
            // TODO try to get from cache

            var request = _movieRequestBuilder.Build(movieIdModel);

            var movie = _searchProvider.Execute(request);

            return(movie);
        }
Esempio n. 4
0
        public void ShouldBuildSearchResult()
        {
            // Arrange
            var movieId       = "1";
            var apikey        = "c6788679";
            var movieModel    = new MovieIdModel(movieId);
            var searchRequest = new MovieRequest(apikey, movieId);
            var movieResult   = Option.Some(new Movie());

            GetMock <IMovieRequestBuilder>()
            .Setup(x => x.Build(movieModel))
            .Returns(searchRequest);

            GetMock <IMovieProvider>()
            .Setup(x => x.Execute(searchRequest))
            .Returns(movieResult);

            // Act
            var result = ClassUnderTest.Build(movieModel);

            // Assert
            Assert.AreEqual(movieResult, result);
        }