public void GetAll()
        {
            var mockRepo = new Mock <IConfigurationGateway>();

            var configuration = new ConfigurationBuilder().Build();

            mockRepo.Setup(repo => repo.Get()).Returns(new[] { configuration });

            var controller = new FlagConfigurationController(mockRepo.Object);

            var result = controller.Get();

            result.ShouldAllBeEquivalentTo(new[] { configuration });
        }
        public void Delete()
        {
            var mockRepo = new Mock <IConfigurationGateway>();

            var controller = new FlagConfigurationController(mockRepo.Object);

            var deleteConfiguration = new DeleteConfiguration
            {
                User     = "******",
                Features = new [] { "Flag1", "Flag2" }
            };

            controller.Delete(deleteConfiguration);

            mockRepo.Verify(s => s.Delete(deleteConfiguration));
        }
        public void Save()
        {
            var mockRepo = new Mock <IConfigurationGateway>();

            var feature2 = new Feature
            {
                Name   = "Test2",
                Active = true
            };

            var configuration = new ConfigurationBuilder().AddFeature(feature2).Build();

            mockRepo.Setup(repo => repo.Get()).Returns(new[] { configuration });

            var controller = new FlagConfigurationController(mockRepo.Object);

            var result = controller.Get();

            result.ShouldAllBeEquivalentTo(new[] { configuration });
        }