public void create_todo() { const string title = "some title"; var args = new TodoCreationArgs(title: title, description: "some description"); var result = service.Create(args); result.IsOk.ShouldBeTrue(); repository.Verify(x => x.Save(It.Is <Domain.Todo.Create.Models.Todo>(y => y.Title == title))); }
public void return_error_when_title_is_white_space() { var args = new TodoCreationArgs(title: " ", description: "description"); var result = service.Create(args); result.IsOk.ShouldBeFalse(); result.Errors.First().FieldId.ShouldBe(nameof(args.Title)); result.Errors.First().ErrorCode.ShouldBe(ErrorCodes.Required); }
public void return_error_when_description_has_more_characters() { var description = StringGenerator.Generate(MoreThanMaximumNumberOfCharacters); var args = new TodoCreationArgs(title: "a title", description: description); var result = service.Create(args); result.IsOk.ShouldBeFalse(); result.Errors.First().FieldId.ShouldBe(nameof(args.Description)); result.Errors.First().ErrorCode.ShouldBe(ErrorCodes.InvalidLength); }
public IActionResult Create([FromBody] TodoCreationRequest todoCreationRequest) { var args = new TodoCreationArgs(todoCreationRequest.Title, todoCreationRequest.Description); var response = createTodoService.Create(args); if (response.IsOk) { return(Ok()); } return(BadRequest(response.Errors)); }
public void return_error_when_title_is_string_empty_and_description_has_more_characters() { var invalidLengthText = StringGenerator.Generate(MoreThanMaximumNumberOfCharacters); var args = new TodoCreationArgs(title: string.Empty, description: invalidLengthText); var result = service.Create(args); result.IsOk.ShouldBeFalse(); result.Errors.First().FieldId.ShouldBe(nameof(args.Title)); result.Errors.First().ErrorCode.ShouldBe(ErrorCodes.Required); result.Errors.Second().FieldId.ShouldBe(nameof(args.Description)); result.Errors.Second().ErrorCode.ShouldBe(ErrorCodes.InvalidLength); }