コード例 #1
0
        public async Task PostHomeyMapping_WhenCalled_AddFailed_Returns500()
        {
            var mockedRepo = new Mock <IHomeRepository>();

            var controller = new SensorsController(mockedRepo.Object, listenerClient, this.loggerMock);

            var newSensor = new Sensor()
            {
                Name = "test_sensor_1",
                Id   = Guid.Parse("00000000-0000-0000-0000-000000000003"),
                Type = "test_type"
            };

            var newMapping = new HomeyMapping()
            {
                HumTopic    = "humTopic",
                TempTopic   = "tempTopic",
                MotionTopic = "motionTopic"
            };

            mockedRepo.Setup(repo => repo.GetSensor(newSensor.Id)).ReturnsAsync(newSensor);
            mockedRepo.Setup(repo => repo.AddHomeyMapping(newSensor.Id, newMapping)).ReturnsAsync((HomeyMapping)null);

            var result = await controller.PostHomeyMapping(newSensor.Id.ToString(), newMapping);

            var contentResult = (result as StatusCodeResult);

            Assert.Equal(StatusCodes.Status500InternalServerError, contentResult.StatusCode);
        }
コード例 #2
0
        public async Task PostHomeyMapping_WhenCalled_WrongSensor_ReturnsNotFound()
        {
            var mockedRepo = new Mock <IHomeRepository>();

            var controller = new SensorsController(mockedRepo.Object, listenerClient, this.loggerMock);

            var sensorId = Guid.Parse("00000000-0000-0000-0000-000000000003");

            var newMapping = new HomeyMapping()
            {
                HumTopic    = "humTopic",
                TempTopic   = "tempTopic",
                MotionTopic = "motionTopic"
            };

            mockedRepo.Setup(repo => repo.GetSensor(sensorId)).ReturnsAsync((Sensor)null);

            var result = await controller.PostHomeyMapping(sensorId.ToString(), newMapping);

            var contentResult = (result as NotFoundResult);

            Assert.NotNull(contentResult);
            mockedRepo.Verify(repo => repo.GetSensor(sensorId));
            mockedRepo.VerifyNoOtherCalls();
        }