public IActionResult UpdateConfigurationForToggle(Guid toggleId, Guid id, [FromBody] ConfigurationDtoInput newConfiguration)
        {
            if (newConfiguration == null)
            {
                return(BadRequest());
            }

            var toggle = _repository.Get(toggleId);

            if (toggle == null)
            {
                return(NotFound());
            }

            var existingConfiguration = toggle.Configurations.FirstOrDefault(c => c.Id == id);

            if (existingConfiguration == null)
            {
                return(NotFound());
            }

            AutoMapper.Mapper.Map(newConfiguration, existingConfiguration);
            _repository.Save();

            return(NoContent());
        }
Beispiel #2
0
        public void CreateConfigurationForToggle_Ok()
        {
            var toggleId           = new Guid();
            var toggle             = new Toggle();
            var configurationInput = new ConfigurationDtoInput();

            _repositoryMock.Setup(rep => rep.Get(toggleId)).Returns(toggle);
            var controller = new ConfigurationController(_repositoryMock.Object);

            var result       = controller.CreateConfigurationForToggle(toggleId, configurationInput);
            var actionResult = result as CreatedAtRouteResult;
            var model        = actionResult?.Value as ConfigurationDtoOutput;

            Assert.IsNotNull(actionResult);
            Assert.IsNotNull(model);
            _repositoryMock.Verify(rep => rep.Save(), Times.Once);
            Assert.AreEqual((int)HttpStatusCode.Created, actionResult.StatusCode);
        }
        public IActionResult CreateConfigurationForToggle(Guid toggleId, [FromBody] ConfigurationDtoInput configuration)
        {
            if (configuration == null)
            {
                return(BadRequest());
            }

            var toggle = _repository.Get(toggleId);

            if (toggle == null)
            {
                return(NotFound());
            }

            var configurationEntity = AutoMapper.Mapper.Map <Configuration>(configuration);

            toggle.Configurations.Add(configurationEntity);
            _repository.Save();

            var configurationOutput = AutoMapper.Mapper.Map <ConfigurationDtoOutput>(configurationEntity);

            return(CreatedAtRoute("GetConfigurationForToggle", new { toggleId = toggleId, id = configurationOutput.Id }, configurationOutput));
        }