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() ); }
public IRestRequest Build(MovieIdModel movieIdModel) { var request = new MovieRequest( _gatewaySettingsProvider.ApiKey, movieIdModel.MovieId); return(request); }
public Option <Movie> Build(MovieIdModel movieIdModel) { // TODO try to get from cache var request = _movieRequestBuilder.Build(movieIdModel); var movie = _searchProvider.Execute(request); return(movie); }
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); }