public void PostASingleDrinkGivesAnError()
        {
            var requeststring = _fixture.RandomizerUrl + "/api/randomize";
            var request       = new RandomizePostRequest
            {
                list      = "testsuite",
                user      = "******",
                beverages = new List <string>
                {
                    "beer"
                }
            };

            var response =
                _fixture.RandomizerApi.PostASampleListWithBeverages(requeststring, request).Result as
                BaseErrorResponse;

            Assert.Equal(400, response.StatusCode);
            Assert.Contains("Errors occured when validating", response.UserError);
        }
        public void PostWithAnInvalidObjectGivesAnError(string list, string user, string message)
        {
            var requeststring = _fixture.RandomizerUrl + "/api/randomize";
            var request       = new RandomizePostRequest
            {
                list      = list,
                user      = user,
                beverages = new List <string>
                {
                    "beer",
                    "wine"
                }
            };

            var response =
                _fixture.RandomizerApi.PostASampleListWithBeverages(requeststring, request).Result as
                BaseErrorResponse;

            Assert.Equal(400, response.StatusCode);
            Assert.Contains(message, response.UserError);
        }
        public void LongListsGetRandomized()
        {
            var requeststring = _fixture.RandomizerUrl + "/api/randomize";
            var request       = new RandomizePostRequest
            {
                list      = "testsuite",
                user      = "******",
                beverages = new List <string>
                {
                    "drink1",
                    "drink2",
                    "drink3",
                    "drink4",
                    "drink5",
                    "drink6",
                    "drink7",
                    "drink8",
                    "drink9",
                    "drink10",
                    "drink11",
                    "drink12",
                    "drink13",
                    "drink14",
                    "drink15",
                    "drink16",
                    "drink17",
                    "drink18"
                }
            };

            var response =
                _fixture.BaseApiClient.GenericPostObject <RandomizePostResult>(requeststring, request).Result as
                RandomizePostResult;

            var drink = response.result;

            Assert.Contains(drink, request.beverages);
            Assert.Equal(200, response.StatusCode);
        }
        public void PostingTwoDrinksReturnsARandomDrink()
        {
            var requeststring = _fixture.RandomizerUrl + "/api/randomize";
            var request       = new RandomizePostRequest
            {
                list      = "testsuite",
                user      = "******",
                beverages = new List <string>
                {
                    "beer",
                    "wine"
                }
            };

            var response =
                _fixture.BaseApiClient.GenericPostObject <RandomizePostResult>(requeststring, request).Result as
                RandomizePostResult;

            var drink = response.result;

            Assert.Contains(drink, request.beverages);
            Assert.Equal(200, response.StatusCode);
        }
Esempio n. 5
0
        public async Task <BaseResponseModel> PostASampleListWithBeverages(string requeststring, RandomizePostRequest request)
        {
            try
            {
                var res           = requeststring.PostJsonAsync(request).Result;
                var content       = res.Content.ReadAsStringAsync().Result;
                var responseModel = new RandomizePostResult
                {
                    result     = content,
                    StatusCode = (int)res.StatusCode
                };



                return(responseModel);
            }
            catch (AggregateException e)
            {
                var flurlException = e.InnerException as FlurlHttpException;
                var responseModel  = new BaseErrorResponse
                {
                    StatusCode   = (int)flurlException.Call.HttpStatus,
                    ErrorMessage = flurlException.Message,
                    UserError    = flurlException.GetResponseString()
                };
                return(responseModel);
            }
        }