public void EditApp_WithInvalidID_ThrowsInvalidOperationException() { //arrange var app = new Application { Id = 1, AppName = "TestApp" }; _context.Applications.Add(app); _context.SaveChanges(); var updatedAppName = "TestAppUpdated"; var updatedApp = new UpdateApplicationModel { Id = app.Id++, ApplicationName = updatedAppName }; var controller = new ApplicationsController(_context); //act controller.UpdateApplication(updatedApp); //assert //throws InvalidOperationException }
public async Task <IActionResult> UpdateApplication([FromBody] UpdateApplicationModel applicationModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var app = await _applicationsRepository.FindByIdAsync(applicationModel.Id); if (app == null) { throw new InvalidOperationException("Application does not exist!"); } var apps = await _applicationsRepository.GetAllAsync(); var existingApp = apps.FirstOrDefault(a => string.Compare(a.AppName, applicationModel.ApplicationName, StringComparison.OrdinalIgnoreCase) == 0 && a.Id != applicationModel.Id); if (existingApp != null) { return(BadRequest("Application with same name already exists!")); } app.UpdateName(applicationModel.ApplicationName); await _applicationsRepository.UpdateAsync(app); return(Ok()); }
public void EditApp_AppIsBeingModified() { //arrange var app = new Application { Id = 1, AppName = "TestApp" }; _context.Applications.Add(app); _context.SaveChanges(); var updatedAppName = "TestAppUpdated"; var updatedApp = new UpdateApplicationModel { Id = app.Id, ApplicationName = updatedAppName }; var controller = new ApplicationsController(_context); //act var result = controller.UpdateApplication(updatedApp); //assert result.Should().BeOfType <OkResult>(); app.AppName.Should().Be(updatedAppName); }
public async Task UpdateAzureADApplication([FromBody] UpdateApplicationModel updateApp) { try { logger.LogInformation("Update Azure AD Application: {application}", updateApp.HomePage); var updateModel = new UpdateApplicationRequest() { Homepage = updateApp.HomePage, ReplyUrls = updateApp.ReplyUrls }; await _servicePrincipalRepo.UpdateAzureADApplication(updateApp.AppObjectId, updateModel, tokenServices.TenantId); logger.LogInformation("Update Azure AD Application Reply url updated: {application}", updateApp.HomePage); } catch (Exception e) { logger.LogError(e, "Update Azure AD Application: - Exception {message}", e.Message); } }
public IActionResult UpdateApplication([FromBody] UpdateApplicationModel applicationModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var app = _db.Applications.FirstOrDefault(a => a.Id == applicationModel.Id); if (app == null) { throw new InvalidOperationException("Application does not exists!"); } app.AppName = applicationModel.ApplicationName; _db.SaveChanges(); return(Ok()); }
public async Task EditApp_WithInvalidID_ThrowsInvalidOperationException() { //arrange var app = Application.Create("TestApp", "dev", false); await _appApplicationRepository.AddAsync(app); var updatedAppName = "TestAppUpdated"; var updatedApp = new UpdateApplicationModel { Id = Guid.NewGuid(), ApplicationName = updatedAppName }; var controller = new ApplicationsController(_appApplicationRepository, _toggleScheduleRepository); //act await controller.UpdateApplication(updatedApp); //assert //throws InvalidOperationException }
public async Task EditApp_AppIsBeingModified() { //arrange var app = Application.Create("TestApp", "dev", false); await _appApplicationRepository.AddAsync(app); var updatedAppName = "TestAppUpdated"; var updatedApp = new UpdateApplicationModel { Id = app.Id, ApplicationName = updatedAppName }; var controller = new ApplicationsController(_appApplicationRepository, _toggleScheduleRepository); //act var result = await controller.UpdateApplication(updatedApp); //assert result.Should().BeOfType <OkResult>(); app.AppName.Should().Be(updatedAppName); }
public async Task EditApp_WhenAlreadyExistsAppWithTheSameName_RejectTheEdit() { //arrange var app = Application.Create("TestApp", "dev", false); var app2 = Application.Create("TestAppUpdated", "dev", false); await _appApplicationRepository.AddAsync(app); await _appApplicationRepository.AddAsync(app2); var updatedApp = new UpdateApplicationModel { Id = app.Id, ApplicationName = "TestAppUpdated" }; var controller = new ApplicationsController(_appApplicationRepository, _toggleScheduleRepository); //act var result = await controller.UpdateApplication(updatedApp); //assert result.Should().BeOfType <BadRequestObjectResult>(); app.AppName.Should().Be("TestApp"); }