public async Task ReturnOkObjectResultWhenSleepRecordIsFound()
        {
            // Arrange
            var sleepEnvelope = new mdl.SleepEnvelope
            {
                Id    = Guid.NewGuid().ToString(),
                Sleep = new mdl.Sleep
                {
                    SleepDate = "2019-12-31"
                },
                DocumentType = "Test"
            };
            var sleepDate = sleepEnvelope.Sleep.SleepDate;

            byte[]       byteArray    = Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(sleepEnvelope));
            MemoryStream memoryStream = new MemoryStream(byteArray);

            _mockHttpRequest.Setup(r => r.Body).Returns(memoryStream);

            _mockDateValidator.Setup(x => x.IsSleepDateValid(sleepDate)).Returns(true);
            _mockSleepDbService.Setup(x => x.GetSleepRecordByDate(sleepDate)).ReturnsAsync(sleepEnvelope);

            // Act
            var response = await _func.Run(_mockHttpRequest.Object, _mockLogger.Object, sleepDate);

            // Assert
            Assert.Equal(typeof(OkObjectResult), response.GetType());
            _mockServiceBusHelpers.Verify(x => x.SendMessageToQueue(It.IsAny <string>(), It.IsAny <Exception>()), Times.Never);
        }
Example #2
0
        public async Task GetSleepByDateSuccessfully()
        {
            // Arrange
            List <mdl.SleepEnvelope> sleepEnvelopes = new List <mdl.SleepEnvelope>();

            mdl.SleepEnvelope sleepEnvelope = new mdl.SleepEnvelope
            {
                Id           = Guid.NewGuid().ToString(),
                DocumentType = "Sleep",
                Sleep        = new mdl.Sleep
                {
                    SleepDate = "31/12/2019"
                }
            };
            sleepEnvelopes.Add(sleepEnvelope);

            _mockContainer.SetupItemQueryIteratorMock(sleepEnvelopes);
            _mockContainer.SetupItemQueryIteratorMock(new List <int>()
            {
                sleepEnvelopes.Count
            });

            var sleepDate = sleepEnvelope.Sleep.SleepDate;

            // Act
            var response = await _sut.GetSleepRecordByDate(sleepDate);

            // Assert
            Assert.Equal(sleepDate, response.Sleep.SleepDate);
        }
Example #3
0
        public async Task GetAllSleepRecordsSuccessfully()
        {
            // Arrange
            List <mdl.SleepEnvelope> sleepEnvelopes = new List <mdl.SleepEnvelope>();
            var fixture = new Fixture();

            mdl.SleepEnvelope sleepEnvelope = fixture.Create <mdl.SleepEnvelope>();
            sleepEnvelopes.Add(sleepEnvelope);

            _mockContainer.SetupItemQueryIteratorMock(sleepEnvelopes);
            _mockContainer.SetupItemQueryIteratorMock(new List <int>()
            {
                sleepEnvelopes.Count
            });

            // Act
            var response = await _sut.GetSleepRecords();

            // Assert
            Assert.Equal(sleepEnvelopes.Count, response.Count);
        }
        public async Task ThrowBadRequestResultWhenSleepDateRequestIsInvalid(string invalidDateInput)
        {
            // Arrange
            var sleepEnvelope = new mdl.SleepEnvelope();

            byte[]       byteArray    = Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(sleepEnvelope));
            MemoryStream memoryStream = new MemoryStream(byteArray);

            _mockHttpRequest.Setup(r => r.Body).Returns(memoryStream);

            _mockDateValidator.Setup(x => x.IsSleepDateValid(invalidDateInput)).Returns(false);

            // Act
            var response = await _func.Run(_mockHttpRequest.Object, _mockLogger.Object, invalidDateInput);

            // Assert
            Assert.Equal(typeof(BadRequestResult), response.GetType());
            var responseAsStatusCodeResult = (StatusCodeResult)response;

            Assert.Equal(400, responseAsStatusCodeResult.StatusCode);
            _mockServiceBusHelpers.Verify(x => x.SendMessageToQueue(It.IsAny <string>(), It.IsAny <Exception>()), Times.Never);
        }
        public async Task ThrowNotFoundResultWhenSleepEnvelopeResponseIsNull()
        {
            // Arrange
            var sleepEnvelope = new mdl.SleepEnvelope();

            byte[]       byteArray    = Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(sleepEnvelope));
            MemoryStream memoryStream = new MemoryStream(byteArray);

            _mockHttpRequest.Setup(r => r.Body).Returns(memoryStream);

            _mockDateValidator.Setup(x => x.IsSleepDateValid(It.IsAny <string>())).Returns(true);
            _mockSleepDbService.Setup(x => x.GetSleepRecordByDate(It.IsAny <string>())).Returns(Task.FromResult <mdl.SleepEnvelope>(null));

            // Act
            var response = await _func.Run(_mockHttpRequest.Object, _mockLogger.Object, "2019-12-31");

            // Assert
            Assert.Equal(typeof(NotFoundResult), response.GetType());
            var responseAsStatusCodeResult = (StatusCodeResult)response;

            Assert.Equal(404, responseAsStatusCodeResult.StatusCode);
            _mockServiceBusHelpers.Verify(x => x.SendMessageToQueue(It.IsAny <string>(), It.IsAny <Exception>()), Times.Never);
        }