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