public void GetRequestHistory_Retrieved_Success()
        {
            // Assert
            var history = new[]
            {
                new AirConditionUnitRequestDto
                {
                    AirConditionUnitId = AirConditionUnitId,
                    RequesterEmail     = "email",
                    Temperature        = 14,
                    Id             = 5,
                    UpdateDateTime = DateTime.UtcNow
                }
            };

            _repository.Get(AirConditionUnitId).Returns(history);

            // Act
            Result <TemperatureRequestHistory[]> result = _airConditionUnitService.GetRequestHistory(AirConditionUnitId);

            // Assert
            Assert.IsNotNull(result, Common.ShowResponseTypeMismatchMessage(typeof(Result <TemperatureRequestHistory[]>)));
            Assert.AreEqual(history.Length, result.ReturnObject.Length, Common.ShowNotSatisfiedExpectationMessage(1, "result.ReturnObject.Length"));
        }
Example #2
0
        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);
        }
Example #3
0
        public IHttpActionResult GetTemperatureRequestHistory(string id)
        {
            _logger.Debug($"temperature history request for unit {id} from '{User.Identity?.Name}'");
            Result <TemperatureRequestHistory[]> history = _airConditionUnitService.GetRequestHistory(id);

            _logger.Debug(history.ToString());
            if (history.IsFailure)
            {
                return(InternalServerError());
            }

            var response = new TemperatureRequestHistoryResponse(history.ReturnObject.OrderByDescending(o => o.RequestDateTime).ToArray());

            _logger.Debug(response.ToString());

            return(Ok(response));
        }