internal async Task UpdateAsync() { var request = new PortfolioConfigUpdateRequest() { ViewKey = portfolio, Labels = Config.Labels }; await PortfolioConfigClient.UpdatePortfolioConfigurationAsync(request); }
private static async Task TestPhaseChange(string startPhases, string changedPhases, string[] ignorePhases = null) { // Ensure the projects are there await ProjectClient.EnsureTestProjects(); // DATA SET UP ------------------------------- // Reconfigure the categories var categoriesBackup = await PortfolioConfigClient.UpdatePhasesAsync(TestSettings.TestPortfolio, startPhases); Assert.AreEqual(PhaseBackup, categoriesBackup); GetProjectQueryDTO options = await PortfolioConfigClient.GetFilterOptionsAsync(TestSettings.TestPortfolio); var phaseOptions = options.Options.PhaseItems; if (ignorePhases != null) { phaseOptions.RemoveAll(p => ignorePhases.Contains(p.Display)); } List <ProjectUpdateModel> updates = new List <ProjectUpdateModel>(); Action <ProjectUpdateModel, string> ensurePhase = (p, ph) => { if (p.phase != ph) { p.phase = ph; updates.Add(p); } }; var testProjects = await ProjectClient.GetTestProjectsAsync(); int ci = 0; for (int i = 0; i < ProjectClient.TestProjectCount; i++) { ensurePhase(testProjects[i], phaseOptions[ci++].Value); if (ci >= phaseOptions.Count) { ci = 0; } } await ProjectClient.UpdateProjectsAsync(updates); updates.Clear(); // CHANGE CATEGORIES ------------------------------- categoriesBackup = await PortfolioConfigClient.UpdatePhasesAsync(TestSettings.TestPortfolio, changedPhases); Assert.AreEqual(startPhases, categoriesBackup); // Restore the categories categoriesBackup = await PortfolioConfigClient.UpdatePhasesAsync(TestSettings.TestPortfolio, categoriesBackup); Assert.AreEqual(changedPhases, categoriesBackup); }
public static async Task CleanupTest() { await ProjectClient.DeleteTestProjectsAsync(); await PortfolioConfigClient.UpdatePhasesAsync(TestSettings.TestPortfolio, PhaseBackup); }
public async Task ReconfigureCategoriesTest() { // Ensure the projects are there await ProjectClient.EnsureTestProjects(); // DATA SET UP ------------------------------- // Reconfigure the categories var categoriesBackup = await PortfolioConfigClient.UpdateCategoriesAsync(TestSettings.TestPortfolio, TestStartCategories); Assert.AreEqual(CategoryBackup, categoriesBackup); GetProjectQueryDTO options = await PortfolioConfigClient.GetFilterOptionsAsync(TestSettings.TestPortfolio); var categoryOptions = options.Options.CategoryItems; List <ProjectUpdateModel> updates = new List <ProjectUpdateModel>(); Action <ProjectUpdateModel, string> ensureCategory = (p, c) => { if (p.category != c) { p.category = c; updates.Add(p); } }; Action <ProjectUpdateModel, string> ensureSubCategory = (p, c) => { var _cat = categoryOptions.Single(_c => _c.Display == c); if (p.subcat == null || !p.subcat.Contains(_cat.Value)) { var subCats = new List <string>(); if (p.subcat != null) { subCats.AddRange(p.subcat); // Add the existing values } subCats.Add(_cat.Value); // Add the new value updates.Add(p); } }; var testProjects = await ProjectClient.GetTestProjectsAsync(); int ci = 0; for (int i = 0; i < ProjectClient.TestProjectCount; i++) { ensureCategory(testProjects[i], categoryOptions[ci++].Value); if (ci >= categoryOptions.Count) { ci = 0; } } ensureSubCategory(testProjects[0], "Best regulator"); ensureSubCategory(testProjects[1], "Chemical contaminants"); ensureSubCategory(testProjects[1], "Nutrition and health"); ensureSubCategory(testProjects[1], "Consumer and business behaviour"); ensureSubCategory(testProjects[2], "Novel food and processes"); ensureSubCategory(testProjects[2], "Data and digital"); ensureSubCategory(testProjects[2], "Best regulator"); ensureSubCategory(testProjects[3], "Emerging risks and opportunities"); ensureSubCategory(testProjects[3], "Best regulator"); ensureSubCategory(testProjects[3], "Chemical contaminants"); ensureSubCategory(testProjects[4], "Nutrition and health"); ensureSubCategory(testProjects[4], "Consumer and business behaviour"); ensureSubCategory(testProjects[5], "Novel food and processes"); ensureSubCategory(testProjects[6], "Data and digital"); ensureSubCategory(testProjects[7], "Best regulator"); ensureSubCategory(testProjects[8], "Emerging risks and opportunities"); await ProjectClient.UpdateProjectsAsync(updates); updates.Clear(); // CHANGE CATEGORIES ------------------------------- categoriesBackup = await PortfolioConfigClient.UpdateCategoriesAsync(TestSettings.TestPortfolio, TestChangedCategories); Assert.AreEqual(TestStartCategories, categoriesBackup); // Restore the categories categoriesBackup = await PortfolioConfigClient.UpdateCategoriesAsync(TestSettings.TestPortfolio, categoriesBackup); Assert.AreEqual(TestChangedCategories, categoriesBackup); }
public async Task LoadAsync() { // 1. GET CONFIG the original Config = await PortfolioConfigClient.GetPortfolioConfigurationAsync(portfolio); }