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); }
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}")); }
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); }
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)); }
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")); }