public async Task Should_put_feature_data() { var model = new ApplicationFeatureModel("App01", "0.1", "isButtonPurple", true); var response = await _applicationFeatureController.Put(model); response.Should().NotBeNull(); var okResult = response.Should().BeOfType <OkObjectResult>().Subject; }
public async Task ToggleApplicationFeature(ApplicationFeatureModel applicationFeatureModel) { var application = await _applicationRepository.GetAsync(applicationFeatureModel.ApplicationName, applicationFeatureModel.ApplicationVersion); var feature = await _featureRepositoriy.GetByName(applicationFeatureModel.FeatureName); await _applicationFeatureDomainService.TogleApplicationFeature(new ApplicationFeatureDTO(feature, application, applicationFeatureModel.IsActive)); await CommitAsync(); }
public async Task <IActionResult> Put(ApplicationFeatureModel model) { try { await _featureAppService.ToggleApplicationFeature(model); return(Response()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IActionResult> Post(ApplicationFeatureModel model) { try { var app = await _featureAppService.AddApplicationFeature(model); return(Response(app)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <ApplicationFeatureResponseModel> AddApplicationFeature(ApplicationFeatureModel applicationFeatureModel) { var application = await _applicationRepository.GetAsync(applicationFeatureModel.ApplicationName, applicationFeatureModel.ApplicationVersion); var feature = await _featureRepositoriy.GetByName(applicationFeatureModel.FeatureName); var newApplicationFeature = await _applicationFeatureDomainService.Add(new ApplicationFeatureDTO(feature, application, applicationFeatureModel.IsActive)); if (newApplicationFeature == null) { return(null); } await CommitAsync(); return(new ApplicationFeatureResponseModel(newApplicationFeature.Id, application.Name, application.Version, feature.Name, newApplicationFeature.IsActive)); }
public async Task Should_post_application_feature_data() { var contract = new ApplicationFeatureResponseModelContract { Id = 1, ApplicationName = "App01", ApplicationVersion = "0.1", FeatureName = "isButtonPurple", IsActive = true }; var model = new ApplicationFeatureModel("App01", "0.1", "isButtonPurple", true); _featureAppService.AddApplicationFeature(model).Returns(new ApplicationFeatureResponseModel(1, "App01", "0.1", "isButtonPurple", true)); var response = await _applicationFeatureController.Post(model); response.Should().NotBeNull(); var okResult = response.Should().BeOfType <OkObjectResult>().Subject; var applicationResponseModel = okResult.Value.Should().BeAssignableTo <ApplicationFeatureResponseModel>().Subject; contract.Should().BeEquivalentTo(applicationResponseModel); }