public async Task GetLightScene_NotFound()
        {
            var        hueLightProvider     = Substitute.For <IHueLightProvider>();
            var        lightSceneRepository = Substitute.For <IAsyncRepository <LightScene> >();
            LightScene lightScene           = null;

            lightSceneRepository.GetAsync(5).Returns(Task.FromResult(lightScene));
            var controller = new LightingController(hueLightProvider, lightSceneRepository);

            var result = await controller.GetLightScene(2);

            Assert.IsType <NotFoundResult>(result.Result);
        }
        public async Task GetLightScene_Ok()
        {
            var hueLightProvider     = Substitute.For <IHueLightProvider>();
            var lightSceneRepository = Substitute.For <IAsyncRepository <LightScene> >();
            var lightScene           = new LightScene()
            {
                Id   = 5,
                Name = "Test",
                Data = "abc"
            };

            lightSceneRepository.GetAsync(5).Returns(Task.FromResult(lightScene));
            var controller = new LightingController(hueLightProvider, lightSceneRepository);

            var result = await controller.GetLightScene(5);

            var okResult = Assert.IsType <OkObjectResult>(result.Result);
            var scene    = Assert.IsType <LightScene>(okResult.Value);

            Assert.Equal(5, scene.Id);
            Assert.Equal("Test", scene.Name);
            Assert.Equal("abc", scene.Data);
        }