public async Task <ActionResult <AppartmentDTO> > Post([FromBody] AppartmentDTO appartment) { // Validation bool isValid = true; if (isValid && string.IsNullOrWhiteSpace(appartment.name)) { isValid = false; } if (isValid && appartment.address == null) { isValid = false; } if (!isValid) { return(new BadRequestObjectResult(appartment)); } // Set default attribute Guid aptId = Guid.NewGuid(); appartment.id = aptId.ToString(); appartment.customerId = aptId.ToFriendlyId(); appartment.status = "ACTIVE"; var apt = _mapper.Map <Appartment>(appartment); await _repo.CreateAppartment(apt); return(new OkObjectResult(_mapper.Map <AppartmentDTO>(apt))); }
public async Task AppartmentCreate_Invalid() { // Setup AppartmentDTO testApt = new AppartmentDTO() { address = new AddressDTO() { buildingNo = "142A", street = "Test Road" } }; Appartment apt = _mapper.Map <Appartment>(testApt); if (!new AppConfigration().IsRealMongoDbUsed()) { _mockRepo.Setup(repo => repo.CreateAppartment(apt)) .Verifiable(); } // Act var result = await _controller.Post(testApt); // Assert var actionResult = Assert.IsType <ActionResult <AppartmentDTO> >(result); var badRequestObjectResult = Assert.IsType <BadRequestObjectResult>(actionResult.Result); var returnValue = Assert.IsType <AppartmentDTO>(badRequestObjectResult.Value); }