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); } }