public ActionResult <int> Post([FromBody] CreateTrackDTO request) { var command = new CreateTrackCommand(_mapper.Map <Track>(request)); var handler = _commandHandler.Build(command); return(Ok(handler.Execute())); }
public async Task ShouldRequireMinimumFields() { var command = new CreateTrackCommand(); var result = await SendAsync(command); result.IsBadRequest.Should().BeTrue(); result.ValidationFailures.Should().ContainNotEmptyValidationErrorForProperty(nameof(CreateTrackCommand.Name)); }
public async Task ShouldCreateRace() { var command = new CreateTrackCommand() { Name = "Tour de France 2020", }; var result = await SendAsync(command); var race = await FindAsync <Race>(result.Content); race.Should().NotBeNull(); race.Name.Should().Be("Tour de France 2020"); }
public async Task <ActionResult <int> > PostTrack(CreateTrackCommand track) { if (_context.Tracks.Any(e => e.NascarId == track.NascarId)) { return(Conflict()); } var result = await _mediator.Send(track); return(ResponseHelpers.BuildCreatedAtResponse( this, result, nameof(GetTrack), () => new { id = result.Content })); }
public ICommandHandler <CreateTrackCommand, int> Build(CreateTrackCommand command) { return(new CreateTrackCommandHandler(_service, command)); }