コード例 #1
0
        public async Task Post_WhenCalled_NotifyFailed_ReturnsOk()
        {
            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",
                RoomId = Guid.Parse("00000000-0000-0000-0000-000000000001")
            };

            mockedRepo.Setup(repo => repo.AddSensor(newSensor)).ReturnsAsync(newSensor);
            this.listenerMock.Setup(l => l.NotifySensorUpdate(newSensor)).ReturnsAsync((Sensor)null);

            var result = await controller.Post(newSensor);

            var contentResult = (result as OkObjectResult).Value;

            this.listenerMock.Verify(client => client.NotifySensorUpdate(newSensor), Times.Once);

            Assert.NotNull(contentResult);
            Assert.Equal(newSensor, contentResult);
        }
コード例 #2
0
        public async Task Post_WhenCalled_AddFaild_ReturnsServerError()
        {
            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"
            };

            mockedRepo.Setup(repo => repo.AddSensor(newSensor)).ReturnsAsync((Sensor)null);

            var result = await controller.Post(newSensor);

            var contentResult = (result as StatusCodeResult).StatusCode;

            this.listenerMock.VerifyNoOtherCalls();
            Assert.Equal(StatusCodes.Status500InternalServerError, contentResult);
        }