public ActionResult <ToDoTask> PostToDoTask(ToDoTaskPost task)
        {
            var t = _mapper.Map <ToDoTask>(task);

            ChronosDb.Tasks.Add(t);
            return(Ok(t));
        }
        public async Task <ActionResult <ToDoTask> > PostAsync([FromBody] ToDoTaskPost request)
        {
            await Task.Delay(0);

            var entity = _mapper.Map <ToDoTask>(request);

            // TODO: _messageSession.Send();
            return(CreatedAtRoute("GetTaskById", new { entity.Id }, entity));
        }
        private void TestPostRequestEmpty()
        {
            // Arrange
            var source = new ToDoTaskPost();
            // Act
            var result = _validator.Validate(source);

            // Assert
            Assert.False(result.IsValid);
            Assert.Equal(2, result.Errors.Count);
            Assert.Equal(ValidationLibrary.RequiredError,
                         result.Errors.Single(p => p.PropertyName == "Description")
                         .ErrorMessage);
            Assert.Equal(ValidationLibrary.RequiredError,
                         result.Errors.Single(p => p.PropertyName == "DueDate")
                         .ErrorMessage);
        }
Пример #4
0
        private void TestToDoPostMappingJunk()
        {
            // Arrange
            var expected = new ToDoTaskPost
            {
                Description = "Hello World!",
                DueDate     = "Hello World!"
            };
            // Act
            var actual = Mapper.Map <ToDoTask>(expected);

            // Assert
            Assert.True(actual.Id.ToDateTime().HasValue);
            Assert.Null(actual.Completed);
            Assert.Equal(expected.Description, actual.Description);
            Assert.Null(actual.DueDate);
        }
Пример #5
0
        private void TestToDoPostMappingComplete()
        {
            // Arrange
            var expected = new ToDoTaskPost
            {
                Description = "My ToDo Update",
                DueDate     = DateTime.Today.ToString("yyyy-MM-dd")
            };
            // Act
            var actual = Mapper.Map <ToDoTask>(expected);

            // Assert
            Assert.True(actual.Id.ToDateTime().HasValue);
            Assert.Null(actual.Completed);
            Assert.Equal(expected.Description, actual.Description);
            Assert.Equal(
                SystemClock.Instance.InTzdbSystemDefaultZone().GetCurrentDate(),
                actual.DueDate);
        }
        private void TestPostRequestDueDates()
        {
            // Arrange
            var badFormatSource = new ToDoTaskPost
            {
                Description = "My ToDo for Today", DueDate = "hello world"
            };
            var badDateSource = new ToDoTaskPost
            {
                Description = "My ToDo for Today", DueDate = "2022-02-30"
            };
            var pastDateSource = new ToDoTaskPost
            {
                Description = "My ToDo for Today", DueDate = "2002-01-31"
            };
            var goodSource = new ToDoTaskPost
            {
                Description = "My ToDo for Today",
                DueDate     = DateTime.Today.ToString("yyyy-MM-dd")
            };
            // Act
            var badFormatResult    = _validator.Validate(badFormatSource);
            var badDateValueResult = _validator.Validate(badDateSource);
            var pastDateResult     = _validator.Validate(pastDateSource);
            var goodResult         = _validator.Validate(goodSource);

            // Assert
            Assert.False(badFormatResult.IsValid);
            Assert.False(badDateValueResult.IsValid);
            Assert.False(pastDateResult.IsValid);
            Assert.True(goodResult.IsValid);
            Assert.Equal(1, badFormatResult.Errors.Count);
            Assert.Equal(1, badDateValueResult.Errors.Count);
            Assert.Equal(1, pastDateResult.Errors.Count);
            Assert.False(goodResult.Errors.Any());
            Assert.Equal(ValidationLibrary.ValidDateError,
                         badFormatResult.Errors.Single().ErrorMessage);
            Assert.Equal(ValidationLibrary.ValidDateError,
                         badDateValueResult.Errors.Single().ErrorMessage);
            Assert.Equal(ValidationLibrary.FutureDateError,
                         pastDateResult.Errors.Single().ErrorMessage);
        }
        private void TestPostRequestAllBadValues()
        {
            // Arrange
            var source = new ToDoTaskPost
            {
                Description = "       ", DueDate = "hello world"
            };
            // Act
            var result = _validator.Validate(source);

            // Assert
            Assert.False(result.IsValid);
            Assert.Equal(2, result.Errors.Count);
            Assert.Equal(ValidationLibrary.RequiredError,
                         result.Errors.Single(e => e.PropertyName == "Description")
                         .ErrorMessage);
            Assert.Equal(ValidationLibrary.ValidDateError,
                         result.Errors.Single(e => e.PropertyName == "DueDate")
                         .ErrorMessage);
        }