public void CreateRequest_EmailSent_RequestStored_Success() { // Arrange TemperatureRequest request = GetValidTemperatureRequest(); // Act Result result = _airConditionUnitService.CreateRequest(RequesterEmail, request); // Assert Common.AssertResult(result, isSuccess: true); AssertEmailSender(request, sendCalled: true); AssertRepository(request, saveCalled: true); }
public IHttpActionResult CreateTemperatureRequest(TemperatureRequest request) { _logger.Debug($"temperatuerRequest {request} from '{User.Identity?.Name}'"); if (request.IsInvalid()) { _logger.Warn("temperatuerRequest is invalid"); return(BadRequest()); } if (request.RequestDateTime == null) { _logger.Info("temperatuerRequest has no time specified"); request.RequestDateTime = DateTime.UtcNow; } Result result = _airConditionUnitService.CreateRequest(User.Identity.Name, request); _logger.Debug(result.ToString()); if (result.IsFailure) { return(InternalServerError()); } return(GetTemperatureRequestHistory(request.AirConditionUnitId)); }
public void AirConditionUnitsController_CreateTemperatureRequest_ValidRequest_Success() { // Arrange var request = GetValidTemperatureRequest(); _airConditionUnitService.CreateRequest( Arg.Any <string>(), Arg.Is <TemperatureRequest>(r => r.AirConditionUnitId == request.AirConditionUnitId && r.AirConditionUnitName == request.AirConditionUnitName && r.Temperature == request.Temperature)) .Returns(new Result()); _airConditionUnitService.GetRequestHistory(Arg.Any <string>()) .Returns(new Result <TemperatureRequestHistory[]>(new TemperatureRequestHistory[0])); // Act // TODO: refactor var result = _controller.CreateTemperatureRequest(request) as OkNegotiatedContentResult <TemperatureRequestHistoryResponse>; // Assert //Assert.IsNotNull(result, Common.ShowResponseTypeMismatchMessage(typeof(OkResult))); Assert.IsNotNull(result, Common.ShowResponseTypeMismatchMessage(typeof(OkNegotiatedContentResult <TemperatureRequestHistoryResponse>))); Assert.AreEqual(0, result.Content.History.Length); }