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

            lightSceneRepository.GetAllAsync().Returns(Task.FromResult(lightScenes));
            var controller = new LightingController(hueLightProvider, lightSceneRepository);

            var result = await controller.GetLightScenes();

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

            lightSceneRepository.GetAllAsync().Returns(Task.FromResult(lightScenes));
            var controller = new LightingController(hueLightProvider, lightSceneRepository);

            var result = await controller.GetLightScenes();

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

            Assert.Equal(lightScenes, scenes);
        }