public async Task PostNewPlantEventReturnsBadRequestAndCorrectContentType() { // Given CreatePlantEventViewModel model = ViewModelFactory.CreateInvalidCreationModel(); // When HttpResponseMessage response = await Client.PostAsJsonAsync(EndPointFactory.CreateEndpoint(), model); // Then response.StatusCode.Should().Be(HttpStatusCode.BadRequest); response.Content.Headers.ContentType.ToString().Should().Be("application/problem+json; charset=utf-8"); }
public async Task <ActionResult> Post([FromRoute] Guid plantId, [FromBody] CreatePlantEventViewModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { CreatePlantEventModel createEventModel = _mapper.Map <CreatePlantEventModel>(model); Guid eventId = await _commands.Create(plantId, createEventModel); return(CreatedAtRoute(nameof(GetEvent), new { plantId = plantId, id = eventId }, null)); } catch (Exception ex) when(ex is ResourceNotFoundException) { return(NotFound(new ErrorViewModel(ex))); } catch (Exception ex) when(ex is ResourceStateException) { return(Conflict(new ErrorViewModel(ex))); } }