public async Task Hanlde_ModifyProjectAttributesCommand_ModifiesAttributesFromProjectAsync() { // arrange var project = CreateProject(); var command = new ModifyProjectCommand { Id = project.Id, Name = "NewProjectName", Description = "NewProjectDescription" }; var session = new Mock <ISession>(); session.Setup(s => s.Get <Project>(project.Id, command.ExpectedVersion, It.IsAny <CancellationToken>())).Returns(Task.FromResult(project)); var target = new ProjectCommandHandler(session.Object); // act await target.Handle(command); // assert Assert.Equal(command.Name, project.Name); Assert.Equal(command.Description, project.Description); session.Verify(s => s.Commit(It.IsAny <CancellationToken>())); }
public async Task <IActionResult> UpdateProject([FromBody] ModifyProjectCommand command) { try { if (ModelState.IsValid) { var response = await _mediator.Send(command); return(StatusCode(response.ResponseStatusCode, response.Value)); } return(StatusCode(StatusCodes.Status400BadRequest)); } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex)); } }