Beispiel #1
0
        public void PostAddModifiersAsync_ShouldReturnExpectedHttpStatusCodeOnKnownErrors(Exception exception, int expectedStatusCode)
        {
            _characterService.AddModifiersAsync(Arg.Any <NaheulbookExecutionContext>(), Arg.Any <int>(), Arg.Any <AddCharacterModifierRequest>())
            .Returns(Task.FromException <CharacterModifier>(exception));

            Func <Task> act = () => _controller.PostAddModifiersAsync(_executionContext, 2, new AddCharacterModifierRequest());

            act.Should().Throw <HttpErrorException>().Which.StatusCode.Should().Be(expectedStatusCode);
        }
        public async Task <CreatedActionResult <ActiveStatsModifier> > PostAddModifiersAsync(
            [FromServices] NaheulbookExecutionContext executionContext,
            [FromRoute] int characterId,
            AddCharacterModifierRequest request
            )
        {
            try
            {
                var item = await _characterService.AddModifiersAsync(executionContext, characterId, request);

                return(_mapper.Map <ActiveStatsModifier>(item));
            }
            catch (ForbiddenAccessException ex)
            {
                throw new HttpErrorException(StatusCodes.Status403Forbidden, ex);
            }
            catch (CharacterNotFoundException ex)
            {
                throw new HttpErrorException(StatusCodes.Status404NotFound, ex);
            }
        }