Exemple #1
0
        public async Task <IActionResult> UpdateCapability(string id, [FromBody] CapabilityInput input)
        {
            var capabilityId = Guid.Empty;

            Guid.TryParse(id, out capabilityId);


            IActionResult actionResult;

            try
            {
                var capability =
                    await _capabilityApplicationService.UpdateCapability(capabilityId, input.Name, input.Description);

                var dto = Capability.Create(capability);

                actionResult = Ok(
                    value: dto
                    );
            }
            catch (Exception exception) when(ExceptionToStatusCode.CanConvert(exception, out actionResult))
            {
            }

            return(actionResult);
        }
        public async Task <IActionResult> CreateCapability([FromBody] CapabilityInput input)
        {
            Capability capability;

            try
            {
                capability = await _capabilityServiceClient.CreateCapability(input.Name, input.Description);
            }
            catch (UnauthorizedException)
            {
                return(Unauthorized());
            }
            catch (RecoverableUpstreamException ex)
            {
                return(StatusCode((int)ex.HttpStatusCode, ex.Message));
            }


            var createdAtRouteResultConverter = new CreatedAtRouteResultConverter <Capability>(
                routeName: "GetCapabilityById",
                routeValues: new { id = capability.Id },
                value: capability
                );

            return(createdAtRouteResultConverter.Convert());
        }
        private async Task When_a_capability_create_is_posted()
        {
            var capabilityController = new CapabilityController(_capabilityApplicationService);

            var capabilityInput = new CapabilityInput
            {
                Name        = _capability.Name,
                Description = _capability.Description
            };

            _createResponse = await capabilityController.CreateCapability(capabilityInput);
        }
        public async Task returns_bad_request_when_creating_new_capability_with_invalid_name()
        {
            var expected = new CapabilityListItemBuilder().Build();

            var sut = new CapabilityApiControllerBuilder()
                      .WithCapabilityService(new ErroneousCapabilityServiceClient(new RecoverableUpstreamException(HttpStatusCode.BadRequest, "I don't understand the syntax")))
                      .Build();

            var dummyInput = new CapabilityInput();

            var result = (ObjectResult)await sut.CreateCapability(dummyInput);

            Assert.Equal((int)HttpStatusCode.BadRequest, result.StatusCode.Value);
        }
Exemple #5
0
        public async Task returns_badrequest_when_creating_new_capability_with_invalid_name()
        {
            var expected = new CapabilityListItemBuilder().Build();

            var sut = new CapabilityApiControllerBuilder()
                      .WithCapabilityService(new ErroneousCapabilityServiceClient(new CapabilityValidationException("booo")))
                      .Build();

            var dummyInput = new CapabilityInput();

            var result = await sut.CreateCapability(dummyInput);

            Assert.IsType <BadRequestObjectResult>(result);
        }
        public async Task returns_expected_when_creating_new_capability()
        {
            var expected = new CapabilityListItemBuilder().Build();

            var sut = new CapabilityApiControllerBuilder()
                      .WithCapabilityService(new StubCapabilityServiceClient(capabilities: expected))
                      .Build();

            var dummyInput = new CapabilityInput();

            var result = (CreatedAtRouteResult)await sut.CreateCapability(dummyInput);

            Assert.Equal(
                expected: expected,
                actual: result.Value
                );
        }
Exemple #7
0
        public async Task <IActionResult> CreateCapability([FromBody] CapabilityInput input)
        {
            try
            {
                var capability = await _capabilityServiceClient.CreateCapability(input.Name, input.Description);

                var a = new CreatedAtRouteResult <Capability>(
                    routeName: "GetCapabilityById",
                    routeValues: new { id = capability.Id },
                    value: capability
                    );
                return(a.Convert());
            } catch (CapabilityValidationException tve) {
                return(BadRequest(new {
                    Message = tve.Message
                }));
            }
        }
        public async Task <IActionResult> UpdateCapability(string id, [FromBody] CapabilityInput input)
        {
            try
            {
                var currentCapability = await _capabilityServiceClient.GetById(id);

                await _capabilityServiceClient.UpdateCapability(id, currentCapability.Name, input.Description);
            }
            catch (UnauthorizedException)
            {
                return(Unauthorized());
            }
            catch (HttpRequestException)
            {
                return(BadRequest());
            }

            return(NoContent());
        }
Exemple #9
0
        public async Task <IActionResult> CreateCapability(CapabilityInput input)
        {
            try {
                var capability = await _capabilityApplicationService.CreateCapability(input.Name, input.Description);

                var dto = Capability.Create(capability);

                return(CreatedAtAction(
                           actionName: nameof(GetCapability),
                           routeValues: new { id = capability.Id },
                           value: dto
                           ));
            } catch (CapabilityValidationException tve) {
                return(BadRequest(new
                {
                    Message = tve.Message
                }));
            }
        }
Exemple #10
0
        public async Task <IActionResult> CreateCapability(CapabilityInput input)
        {
            IActionResult actionResult;

            try
            {
                var capability = await _capabilityApplicationService.CreateCapability(input.Name, input.Description);

                var dto = Capability.Create(capability);

                actionResult = CreatedAtAction(
                    actionName: nameof(GetCapability),
                    routeValues: new { id = capability.Id },
                    value: dto
                    );
            }
            catch (Exception exception) when(ExceptionToStatusCode.CanConvert(exception, out actionResult))
            {
            }

            return(actionResult);
        }