示例#1
0
        public async Task <IHttpActionResult> Resume(string id)
        {
            ResumeUserResponse response = null;

            try
            {
                response = await _orchestrator.Resume(id);
            }
            catch (Exception e)
            {
                return(InternalServerError());
            }

            if (response.HasError)
            {
                var modelState = new ModelStateDictionary();
                response.Errors.ToList().ForEach(error => modelState.AddModelError(error.Key, error.Value));
                return(BadRequest(modelState));
            }

            if (string.IsNullOrEmpty(response.Id))
            {
                return(NotFound());
            }

            return(Ok(response));
        }
示例#2
0
        public async Task ThenNoErrorsAreReturned_WhenTheRequestIsValid()
        {
            var userId         = "ABC123";
            var resourceUri    = $"api/users/{userId}/resume";
            var expectedResult = new ResumeUserResponse
            {
                Id     = userId,
                Errors = new Dictionary <string, string>()
            };

            HttpClient.Setup(x => x.PostAsync($"{Configuration.ApiBaseUrl}{resourceUri}", It.IsAny <HttpContent>()))
            .ReturnsAsync(JsonConvert.SerializeObject(expectedResult));

            var response = await Client.ResumeUser(userId);

            HttpClient.Verify(x => x.PostAsync($"{Configuration.ApiBaseUrl}{resourceUri}", It.IsAny <HttpContent>()), Times.Once);
            response.ShouldBeEquivalentTo(expectedResult);
        }