public async Task Post_ValidObjectPassed_ReturnedResponseHasCreatedItem() { // Arrange var originalObject = new PatientModel { FirstName = "Test First Name", Surname = "Test Surname", Gender = "Male" }; var mockMapper = new Mock <IMapper>(); mockMapper.Setup(x => x.Map <PatientXmlToObjModel>(originalObject)).Returns(new PatientXmlToObjModel { FirstName = originalObject.FirstName }); mockMapper.Setup(x => x.Map <PatientModel>(It.IsAny <PatientXmlToObjModel>())).Returns(originalObject); var patientRepo = new PatientRepositoryFake(); var controller = new PatientController(patientRepo, mockMapper.Object, _mockConverter, null, _logger); // Act var result = await controller.Post(originalObject); // Assert var responsetObject = Assert.IsType <CreatedResult>(result.Result); var createdObject = Assert.IsType <PatientModel>(responsetObject.Value); Assert.Equal(originalObject.FirstName, createdObject.FirstName); }
public async Task GetAll_WhenCalled_ReturnsAllItems() { // Arrange var patientRepo = new PatientRepositoryFake(); var controller = new PatientController(patientRepo, _mockMapper, _mockConverter, null, _logger); // Act var result = await controller.GetAllPatients(); // Assert Assert.IsType <ActionResult <List <PatientModel> > >(result); Assert.Equal(2, result.Value.Count); }
public async Task Post_ValidObjectPassed_ReturnsCreatedResponse() { // Arrange var patientRepo = new PatientRepositoryFake(); var controller = new PatientController(patientRepo, _mockMapper, _mockConverter, null, _logger); // Act var result = await controller.Post(new PatientModel { PatientId = 5, FirstName = "TestName", Surname = "TestName", Gender = "Male" }); // Assert var responsetObject = Assert.IsType <ActionResult <PatientModel> >(result); Assert.IsType <CreatedResult>(responsetObject.Result); }
public async Task Post_InvalidObjectPassed_ReturnsBadRequest() { // Arrange var patientRepo = new PatientRepositoryFake(); var controller = new PatientController(patientRepo, _mockMapper, _mockConverter, null, _logger); controller.ModelState.AddModelError("Error", "Testing error condition"); // Act var result = await controller.Post(new PatientModel()); // Assert Assert.False(controller.ModelState.IsValid); var actionResult = Assert.IsType <ActionResult <PatientModel> >(result); var badRequestObjectResult = Assert.IsType <BadRequestObjectResult>(actionResult.Result); Assert.Equal(400, badRequestObjectResult.StatusCode.Value); }