public async Task <ActionResult <TodoResponseModel> > Create([FromBody] TodoRequestModel model) { TodoDto newTodoDto = _todoMapper.Map(model); TodoDto createdTodoDto = await _todoService.CreateTodo(newTodoDto); TodoResponseModel createdTodoModel = _todoMapper.Map(createdTodoDto); return(Ok(createdTodoModel)); }
/// <inheritdoc/> public TodoDto Map(TodoRequestModel model) { ArgumentNullException.ThrowIfNull(model, nameof(model)); return(new TodoDto { Description = model.Description, IsDone = model.IsDone }); }
public void Valid_Model() { // Arrange TodoRequestModel model = TodoRequestModelBuilder.CreateValid(); // Act ValidationResult result = Validator.Validate(model); // Assert _ = result.IsValid.Should().BeTrue(); }
public TodoDto Map(TodoRequestModel model) { if (model == null) { return(null); } return(new TodoDto { Description = model.Description, IsDone = model.IsDone }); }
public void Map_RequestModelToDto_Is_Null() { // Arrange var mapper = new TodoModelDtoMapper(); TodoRequestModel model = null; // Act TodoDto result = mapper.Map(model); // Assert result.Should().BeNull(); }
public void Map_RequestModelToDto_Is_Valid() { // Arrange var mapper = new TodoModelDtoMapper(); TodoRequestModel model = TodoRequestModelBuilder.CreateValid(); // Act TodoDto result = mapper.Map(model); // Assert result.Should().BeEquivalentTo(model); result.Id.Should().BeNull(); }
public void Invalid_Model_Description_Null() { // Arrange TodoRequestModel model = TodoRequestModelBuilder.CreateValid(); model.Description = null; // Act ValidationResult result = Validator.Validate(model); // Assert _ = result.IsValid.Should().BeFalse(); _ = result.Errors.Should().NotBeEmpty().And.HaveCount(1); }
public void Invalid_Model_Description_Too_Long() { // Arrange TodoRequestModel model = TodoRequestModelBuilder.CreateValid(); model.Description = new string('A', 101); // Act ValidationResult result = Validator.Validate(model); // Assert _ = result.IsValid.Should().BeFalse(); _ = result.Errors.Should().NotBeEmpty().And.HaveCount(1); // TODO: Check the error message too. }
public void Invalid_Model_Description_Too_Long() { // Arrange TodoRequestModel model = TodoRequestModelBuilder.CreateValid(); model.Description = new string('A', 101); // Act ValidationResult result = Validator.Validate(model); // Assert result.IsValid.Should().BeFalse(); result.Errors.Should().NotBeEmpty().And.HaveCount(1); //result.Errors.Should().Contain(c => c.ErrorMessage.Contains("{The length of 'Description' must be 100 characters or fewer.")); }
public async Task <ActionResult <TodoResponseModel> > Update([FromRoute] Guid id, [FromBody] TodoRequestModel model) { TodoDto updatableTodoDto = _todoMapper.Map(model); TodoDto updatedTodoDto = await _todoService.UpdateTodo(id, updatableTodoDto); TodoResponseModel updatedTodoModel = _todoMapper.Map(updatedTodoDto); return(Ok(updatedTodoModel)); }