예제 #1
0
        public async Task PostReturnCorrectLinkWhenFailure()
        {
            var student = new StudentForCreateDTO();

            student.BirthDate = "22/05/2014";

            var response = await _client.PostAsJsonAsync("/api/students", student);

            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
        }
예제 #2
0
        public async Task PostReturnCorrectLinkWhenSuccess()
        {
            var student = new StudentForCreateDTO();

            student.Name      = "Something Create New";
            student.BirthDate = "22/05/2014";

            var response = await _client.PostAsJsonAsync("/api/students", student);

            var last = _randomStudent.Last();

            response.EnsureSuccessStatusCode();
            Assert.Equal(HttpStatusCode.Created, response.StatusCode);
            Assert.Equal(response.Headers.Location, new Uri($"http://localhost/api/students/{last.Id}"));
        }
예제 #3
0
        public void CreateShouldReturnBadRequestWhenNameIsNullOrEmpty()
        {
            var controller = new StudentsController(_unitOfWork, _urlHelper);

            controller.ModelState.AddModelError("error", "some error");
            var emptyStudentDto = new StudentForCreateDTO()
            {
                Name = null
            };

            var sut = controller.CreateStudent(emptyStudentDto);

            var badResult = Assert.IsType <BadRequestObjectResult>(sut);

            Assert.Equal(emptyStudentDto, badResult.Value);
        }
예제 #4
0
        public IActionResult CreateStudent([FromBody] StudentForCreateDTO student)
        {
            if (student == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(student));
            }

            var studentMap = Mapper.Map <Student>(student);

            _unitOfWork.StudentRepository.CreateStudent(studentMap);

            var studentReturn = Mapper.Map <StudentDTO>(studentMap);

            return(CreatedAtRoute("GetBookById", new { id = studentReturn.Id }, studentReturn));
        }
예제 #5
0
        public void ShouldCanPost()
        {
            var controller = new StudentsController(_unitOfWork, _urlHelper);

            var student = new StudentForCreateDTO()
            {
                Name      = "Create Student",
                BirthDate = "15/02/2015"
            };

            var sut = controller.CreateStudent(student);
            var maxProductIdBeforeAdd = _randomStudent.Max(a => Convert.ToInt32(a.Id));
            var lastId = (maxProductIdBeforeAdd).ToString();


            var createAtRouteResult = Assert.IsType <CreatedAtRouteResult>(sut);
            var returnObject        = Assert.IsType <StudentDTO>(createAtRouteResult.Value);

            Assert.Equal(lastId, returnObject.Id);
            Assert.Equal(returnObject.Name, _randomStudent.Last().Name);
            //Assert.Equal(student.BirthDate,returnObject.BirthDate?.ToString("dd/MM/yyyy"));
        }