Example #1
0
    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));
    }
Example #2
0
    /// <inheritdoc/>
    public TodoDto Map(TodoRequestModel model)
    {
        ArgumentNullException.ThrowIfNull(model, nameof(model));

        return(new TodoDto
        {
            Description = model.Description,
            IsDone = model.IsDone
        });
    }
Example #3
0
    public void Valid_Model()
    {
        // Arrange
        TodoRequestModel model = TodoRequestModelBuilder.CreateValid();

        // Act
        ValidationResult result = Validator.Validate(model);

        // Assert
        _ = result.IsValid.Should().BeTrue();
    }
Example #4
0
 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();
        }
Example #7
0
    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);
    }
Example #8
0
    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."));
        }
Example #10
0
    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));
    }