public async Task PostSensor_WhenCalled_InsertFailed_ReturnsServerError() { var mockedRepo = new Mock <IHomeRepository>(); var sensor = new Sensor() { Id = Guid.Parse("00000000-0000-0000-0000-000000000000") }; var room = new Room() { Name = "test_room_1", Id = Guid.Parse("00000000-0000-0000-0000-000000000001") }; mockedRepo.Setup(repo => repo.GetRoom(Guid.Parse("00000000-0000-0000-0000-000000000001"))).ReturnsAsync(room); mockedRepo.Setup(repo => repo.AddSensor(Guid.Parse("00000000-0000-0000-0000-000000000001"), sensor)).ReturnsAsync((Sensor)null); var mockedListenerClient = new Mock <ISensorListenerAPI>(); mockedListenerClient.Setup(client => client.NotifyHomeyTopic <double>("test", 0)); var controller = new RoomsController(mockedRepo.Object, mockedListenerClient.Object); var result = await controller.PostSensor("00000000-0000-0000-0000-000000000001", sensor); var contentResult = (result as StatusCodeResult).StatusCode; Assert.Equal(StatusCodes.Status500InternalServerError, contentResult); }
public async Task PostSensor_WhenCalled_UnknownRoom_ReturnsNotFound() { var mockedRepo = new Mock <IHomeRepository>(); var sensor = new Sensor() { Id = Guid.Empty }; var room = new Room() { Name = "test_room_1", Id = Guid.Parse("00000000-0000-0000-0000-000000000001") }; mockedRepo.Setup(repo => repo.GetRoom(Guid.Parse("00000000-0000-0000-0000-000000000002"))).ReturnsAsync((Room)null); mockedRepo.Setup(repo => repo.AddSensor(Guid.Parse("00000000-0000-0000-0000-000000000002"), sensor)).ReturnsAsync((Sensor)null); var mockedListenerClient = new Mock <ISensorListenerAPI>(); mockedListenerClient.Setup(client => client.NotifyHomeyTopic <double>("test", 0)); var controller = new RoomsController(mockedRepo.Object, mockedListenerClient.Object); var result = await controller.PostSensor("00000000-0000-0000-0000-000000000002", sensor); var contentResult = result as NotFoundResult; Assert.NotNull(contentResult); }