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); }
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); }