public async Task ResolveDependenciesAndLicensesAsync() { // Default configuration: SplitView, CodeBehind, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); viewModel.Initialize(Platforms.Uwp, GenContext.CurrentLanguage); await viewModel.OnTemplatesAvailableAsync(); var userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Pages.Count == 1); Assert.True(userSelection.Features.Count == 0); Assert.True(viewModel.UserSelection.Licenses.Count == 1); var settingsTemplate = GetTemplate(viewModel.StepsViewModels[TemplateType.Page].Groups, PageSettingsCodeBehind); var numOfDependencies = settingsTemplate.Dependencies?.Count(); await AddTemplateAsync(viewModel, settingsTemplate); userSelection = viewModel.UserSelection.GetUserSelection(); viewModel.UnsubscribeEventHandlers(); Assert.True(userSelection.Pages.Count == 2); Assert.True(userSelection.Features.Count == numOfDependencies); Assert.True(viewModel.UserSelection.Licenses.Count == 2); }
public async Task UpdateHomePageAsync() { // Default configuration: SplitView, CodeBehind, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); viewModel.Initialize(Platforms.Uwp, GenContext.CurrentLanguage); await viewModel.OnTemplatesAvailableAsync(); await AddTemplateAsync(viewModel, GetTemplate(viewModel.StepsViewModels[TemplateType.Page].Groups, PageBlankCodeBehind)); var userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Pages[0].Name == "Main"); Assert.True(userSelection.Pages[1].Name == "Blank"); Assert.True(userSelection.HomeName == "Main"); var pages = viewModel.UserSelection.Groups.First(g => g.TemplateType == TemplateType.Page); pages.EnableOrdering(null); pages.SelectedItem = pages.Items[1]; // Select Blank pages.MoveUpCommand.Execute(null); userSelection = viewModel.UserSelection.GetUserSelection(); viewModel.UnsubscribeEventHandlers(); Assert.True(userSelection.Pages[0].Name == "Blank"); Assert.True(userSelection.Pages[1].Name == "Main"); Assert.True(userSelection.HomeName == "Blank"); }
public async Task CanNotRemoveTemplateWithDependencyAsync() { // Default configuration: SplitView, MvvmToolkit, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); viewModel.UserSelection.ResetUserSelection(); var context = new UserSelectionContext(GenContext.CurrentLanguage, Platforms.Uwp); viewModel.Initialize(context); await viewModel.OnTemplatesAvailableAsync(); var settingsTemplate = GetTemplate(viewModel.StepsViewModels[TemplateType.Page].Groups, PageSettings); var numOfDependencies = settingsTemplate.Dependencies?.Count(); await AddTemplateAsync(viewModel, settingsTemplate); var userSelection = viewModel.UserSelection.GetUserSelection(); Assert.Equal(numOfDependencies, userSelection.Features.Count); DeleteTemplate(TemplateType.Feature, viewModel.UserSelection, 0); userSelection = viewModel.UserSelection.GetUserSelection(); viewModel.UnsubscribeEventHandlers(); Assert.Equal(numOfDependencies, userSelection.Features.Count); }
public async Task ProjectInitUpdatedConfigurationAsync() { // Default configuration: SplitView, MvvmToolkit, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); var context = new UserSelectionContext(GenContext.CurrentLanguage, Platforms.Uwp); viewModel.Initialize(context); await viewModel.OnTemplatesAvailableAsync(); var userSelection = viewModel.UserSelection.GetUserSelection(); Assert.Equal(SplitView, userSelection.Context.ProjectType); Assert.Equal(MvvmToolkit, userSelection.Context.FrontEndFramework); Assert.Equal(PageBlank, userSelection.Pages.First().TemplateId); await SetProjectTypeAsync(viewModel, Blank); await SetFrameworkAsync(viewModel, MVVMLight); userSelection = viewModel.UserSelection.GetUserSelection(); viewModel.UnsubscribeEventHandlers(); Assert.Equal(Blank, userSelection.Context.ProjectType); Assert.Equal(MVVMLight, userSelection.Context.FrontEndFramework); Assert.Equal(PageBlank, userSelection.Pages.First().TemplateId); }
public async Task ReorderPagesUsingKeyboardAsync() { // Default configuration: SplitView, CodeBehind, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); await viewModel.InitializeAsync(Platforms.Uwp, GenContext.CurrentLanguage); AddTemplate(viewModel, GetTemplate(viewModel.AddPages.Groups, PageBlankCodeBehind)); AddTemplate(viewModel, GetTemplate(viewModel.AddPages.Groups, PageBlankCodeBehind)); AddTemplate(viewModel, GetTemplate(viewModel.AddPages.Groups, PageBlankCodeBehind)); AddTemplate(viewModel, GetTemplate(viewModel.AddPages.Groups, PageBlankCodeBehind)); var userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Pages[1].name == "Blank"); Assert.True(userSelection.Pages[2].name == "Blank1"); Assert.True(userSelection.Pages[3].name == "Blank2"); Assert.True(userSelection.Pages[4].name == "Blank3"); viewModel.UserSelection.SelectedPage = viewModel.UserSelection.Pages[2]; // Select Blank1 viewModel.UserSelection.MovePageDownCommand.Execute(null); userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Pages[1].name == "Blank"); Assert.True(userSelection.Pages[2].name == "Blank2"); Assert.True(userSelection.Pages[3].name == "Blank1"); Assert.True(userSelection.Pages[4].name == "Blank3"); viewModel.UserSelection.MovePageUpCommand.Execute(null); userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Pages[1].name == "Blank"); Assert.True(userSelection.Pages[2].name == "Blank1"); Assert.True(userSelection.Pages[3].name == "Blank2"); Assert.True(userSelection.Pages[4].name == "Blank3"); }
public async Task ReorderPagesUsingKeyboardAsync() { // Default configuration: SplitView, CodeBehind, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); await viewModel.InitializeAsync(Platforms.Uwp, GenContext.CurrentLanguage); await AddTemplateAsync(viewModel, GetTemplate(viewModel.StepsViewModels[TemplateType.Page].Groups, PageBlankCodeBehind)); await AddTemplateAsync(viewModel, GetTemplate(viewModel.StepsViewModels[TemplateType.Page].Groups, PageBlankCodeBehind)); await AddTemplateAsync(viewModel, GetTemplate(viewModel.StepsViewModels[TemplateType.Page].Groups, PageBlankCodeBehind)); await AddTemplateAsync(viewModel, GetTemplate(viewModel.StepsViewModels[TemplateType.Page].Groups, PageBlankCodeBehind)); var userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Pages[1].Name == "Blank"); Assert.True(userSelection.Pages[2].Name == "Blank1"); Assert.True(userSelection.Pages[3].Name == "Blank2"); Assert.True(userSelection.Pages[4].Name == "Blank3"); var pages = viewModel.UserSelection.Groups.First(g => g.TemplateType == TemplateType.Page); pages.EnableOrdering(null); pages.SelectedItem = pages.Items[2]; // Select Blank1 pages.MoveDownCommand.Execute(null); userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Pages[1].Name == "Blank"); Assert.True(userSelection.Pages[2].Name == "Blank2"); Assert.True(userSelection.Pages[3].Name == "Blank1"); Assert.True(userSelection.Pages[4].Name == "Blank3"); pages.MoveUpCommand.Execute(null); userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Pages[1].Name == "Blank"); Assert.True(userSelection.Pages[2].Name == "Blank1"); Assert.True(userSelection.Pages[3].Name == "Blank2"); Assert.True(userSelection.Pages[4].Name == "Blank3"); }
public async Task RemoveHiddenFeaturesAsync() { // Default configuration: SplitView, CodeBehind, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); viewModel.Initialize(Platforms.Uwp, GenContext.CurrentLanguage); await viewModel.OnTemplatesAvailableAsync(); var chartTemplate = GetTemplate(viewModel.StepsViewModels[TemplateType.Page].Groups, PageChartCodeBehind); var gridTemplate = GetTemplate(viewModel.StepsViewModels[TemplateType.Page].Groups, PageGridCodeBehind); var numOfDependencies = chartTemplate.Dependencies?.Count(); await AddTemplateAsync(viewModel, chartTemplate); await AddTemplateAsync(viewModel, gridTemplate); var userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Pages.Count == 3); Assert.True(userSelection.Services.Count == numOfDependencies); DeleteTemplate(TemplateType.Page, viewModel.UserSelection, 2); userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Pages.Count == 2); Assert.True(userSelection.Services.Count == numOfDependencies); DeleteTemplate(TemplateType.Page, viewModel.UserSelection, 1); userSelection = viewModel.UserSelection.GetUserSelection(); viewModel.UnsubscribeEventHandlers(); Assert.True(userSelection.Pages.Count == 1); Assert.True(userSelection.Services.Count == numOfDependencies - 1); }
public async Task CanNotRemoveHomePageAsync() { // Default configuration: SplitView, CodeBehind, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); await viewModel.InitializeAsync(Platforms.Uwp, GenContext.CurrentLanguage); DeletePage(viewModel.UserSelection, 0); var userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Pages.Count == 1); }
public async Task ResolveDependenciesAsync() { // Default configuration: SplitView, CodeBehind, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); await viewModel.InitializeAsync(Platforms.Uwp, GenContext.CurrentLanguage); AddTemplate(viewModel, GetTemplate(viewModel.AddPages.Groups, PageSettingsCodeBehind)); var userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Pages.Count == 2); Assert.True(userSelection.Features.Count == 1); Assert.True(userSelection.Features.First().template.Identity == FeatureSettingsStorage); }
public async Task ProjectInitDefaultAsync() { // Default configuration: SplitView, CodeBehind, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); await viewModel.InitializeAsync(Platforms.Uwp, GenContext.CurrentLanguage); Assert.True(viewModel.ProjectType.Items.Count == 3); Assert.True(viewModel.Framework.Items.Count == 5); Assert.True(viewModel.AddPages.Groups.Count > 0); Assert.True(viewModel.AddFeatures.Groups.Count > 0); Assert.True(viewModel.UserSelection.Pages.Count == 1); Assert.True(viewModel.UserSelection.Features.Count == 0); }
public async Task CanNotRemoveTemplateWithDependencyAsync() { // Default configuration: SplitView, CodeBehind, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); await viewModel.InitializeAsync(Platforms.Uwp, GenContext.CurrentLanguage); AddTemplate(viewModel, GetTemplate(viewModel.AddPages.Groups, PageSettingsCodeBehind)); var userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Features.Count == 1); DeleteFeature(viewModel.UserSelection, 0); userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Features.Count == 1); }
public async Task RemovePageAsync() { // Default configuration: SplitView, CodeBehind, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); await viewModel.InitializeAsync(GenContext.CurrentLanguage); AddTemplate(viewModel, GetTemplate(viewModel.AddPages.Groups, PageBlankCodeBehind)); var userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Pages.Count == 2); DeletePage(viewModel.UserSelection, 1); userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Pages.Count == 1); }
public async Task RemoveTemplateWithHiddenDependencyAsync() { // Default configuration: SplitView, CodeBehind, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); await viewModel.InitializeAsync(Platforms.Uwp, GenContext.CurrentLanguage); await AddTemplateAsync(viewModel, GetTemplate(viewModel.StepsViewModels[TemplateType.Service].Groups, ServiceWebApi)); var userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Services.Count == 3); DeleteTemplate(TemplateType.Service, viewModel.UserSelection, 2); userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Services.Count == 1); }
public async Task CanNotRemoveHomePageAsync() { // Default configuration: SplitView, MvvmToolkit, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); viewModel.Initialize(Platforms.Uwp, GenContext.CurrentLanguage); await viewModel.OnTemplatesAvailableAsync(); DeleteTemplate(TemplateType.Page, viewModel.UserSelection, 0); var userSelection = viewModel.UserSelection.GetUserSelection(); viewModel.UnsubscribeEventHandlers(); Assert.Single(userSelection.Pages); }
public async Task ProjectInitDefaultAsync() { // Default configuration: SplitView, CodeBehind, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); await viewModel.InitializeAsync(Platforms.Uwp, GenContext.CurrentLanguage); var pages = viewModel.UserSelection.Groups.First(p => p.TemplateType == TemplateType.Page); var features = viewModel.UserSelection.Groups.First(p => p.TemplateType == TemplateType.Feature); Assert.True(viewModel.ProjectType.Items.Count == 4); Assert.True(viewModel.Framework.Items.Count == 5); Assert.True(viewModel.StepsViewModels[TemplateType.Page].Groups.Count > 0); Assert.True(viewModel.StepsViewModels[TemplateType.Feature].Groups.Count > 0); Assert.True(viewModel.StepsViewModels[TemplateType.Service].Groups.Count > 0); Assert.True(viewModel.StepsViewModels[TemplateType.Testing].Groups.Count > 0); Assert.True(pages.Items.Count == 1); Assert.True(features.Items.Count == 0); }
public async Task ProjectInitUpdatedConfigurationAsync() { // Default configuration: SplitView, CodeBehind, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); await viewModel.InitializeAsync(Platforms.Uwp, GenContext.CurrentLanguage); var userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.ProjectType == SplitView); Assert.True(userSelection.Framework == CodeBehind); Assert.True(userSelection.Pages.First().template.Identity == PageBlankCodeBehind); SetProjectType(viewModel, Blank); SetFramework(viewModel, MVVMLight); userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.ProjectType == Blank); Assert.True(userSelection.Framework == MVVMLight); Assert.True(userSelection.Pages.First().template.Identity == PageBlank); }
public async Task UpdateHomePageAsync() { // Default configuration: SplitView, CodeBehind, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); await viewModel.InitializeAsync(GenContext.CurrentLanguage); AddTemplate(viewModel, GetTemplate(viewModel.AddPages.Groups, PageBlankCodeBehind)); var userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Pages[0].name == "Main"); Assert.True(userSelection.Pages[1].name == "Blank"); Assert.True(userSelection.HomeName == "Main"); viewModel.UserSelection.SelectedPage = viewModel.UserSelection.Pages[1]; // Select Blank viewModel.UserSelection.MovePageUpCommand.Execute(null); userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Pages[0].name == "Blank"); Assert.True(userSelection.Pages[1].name == "Main"); Assert.True(userSelection.HomeName == "Blank"); }
public async Task RemoveTemplateWithHiddenDependencyAsync() { // Default configuration: SplitView, MvvmToolkit, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); var context = new UserSelectionContext(GenContext.CurrentLanguage, Platforms.Uwp); viewModel.Initialize(context); await viewModel.OnTemplatesAvailableAsync(); await AddTemplateAsync(viewModel, GetTemplate(viewModel.StepsViewModels[TemplateType.Service].Groups, ServiceWebApi)); var userSelection = viewModel.UserSelection.GetUserSelection(); Assert.Equal(3, userSelection.Services.Count); DeleteTemplate(TemplateType.Service, viewModel.UserSelection, 2); userSelection = viewModel.UserSelection.GetUserSelection(); viewModel.UnsubscribeEventHandlers(); Assert.True(userSelection.Services.Count == 1); }
public async Task RemovePageAsync() { // Default configuration: SplitView, CodeBehind, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); viewModel.Initialize(Platforms.Uwp, GenContext.CurrentLanguage); await viewModel.OnTemplatesAvailableAsync(); await AddTemplateAsync(viewModel, GetTemplate(viewModel.StepsViewModels[TemplateType.Page].Groups, PageBlankCodeBehind)); var userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.Pages.Count == 2); DeleteTemplate(TemplateType.Page, viewModel.UserSelection, 1); userSelection = viewModel.UserSelection.GetUserSelection(); viewModel.UnsubscribeEventHandlers(); Assert.True(userSelection.Pages.Count == 1); }
public async Task ResolveDependenciesAsync() { // Default configuration: SplitView, MvvmToolkit, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); viewModel.Initialize(Platforms.Uwp, GenContext.CurrentLanguage); await viewModel.OnTemplatesAvailableAsync(); var settingsTemplate = GetTemplate(viewModel.StepsViewModels[TemplateType.Page].Groups, PageSettings); var numOfDependencies = settingsTemplate.Dependencies?.Count(); await AddTemplateAsync(viewModel, settingsTemplate); var userSelection = viewModel.UserSelection.GetUserSelection(); viewModel.UnsubscribeEventHandlers(); Assert.Equal(2, userSelection.Pages.Count); Assert.Equal(numOfDependencies, userSelection.Features.Count); Assert.Equal(FeatureSettingsStorage, userSelection.Features.First().TemplateId); }
public async Task ProjectInitDefaultAsync() { // Default configuration: SplitView, MvvmToolkit, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); viewModel.Initialize(Platforms.Uwp, GenContext.CurrentLanguage); await viewModel.OnTemplatesAvailableAsync(); var pages = viewModel.UserSelection.Groups.First(p => p.TemplateType == TemplateType.Page); var features = viewModel.UserSelection.Groups.First(p => p.TemplateType == TemplateType.Feature); viewModel.UnsubscribeEventHandlers(); Assert.Equal(4, viewModel.ProjectType.Items.Count); Assert.Equal(6, viewModel.Framework.Items.Count); Assert.True(viewModel.StepsViewModels[TemplateType.Page].Groups.Count > 0); Assert.True(viewModel.StepsViewModels[TemplateType.Feature].Groups.Count > 0); Assert.True(viewModel.StepsViewModels[TemplateType.Service].Groups.Count > 0); Assert.True(viewModel.StepsViewModels[TemplateType.Testing].Groups.Count > 0); Assert.Single(pages.Items); Assert.Empty(features.Items); }
public async Task ProjectInitUpdatedConfigurationAsync() { // Default configuration: SplitView, CodeBehind, Blank page var stylesProviders = new UITestStyleValuesProvider(); var viewModel = new MainViewModel(null, stylesProviders); viewModel.Initialize(Platforms.Uwp, GenContext.CurrentLanguage); await viewModel.OnTemplatesAvailableAsync(); var userSelection = viewModel.UserSelection.GetUserSelection(); Assert.True(userSelection.ProjectType == SplitView); Assert.True(userSelection.FrontEndFramework == CodeBehind); Assert.True(userSelection.Pages.First().TemplateId == PageBlankCodeBehind); await SetProjectTypeAsync(viewModel, Blank); await SetFrameworkAsync(viewModel, MVVMLight); userSelection = viewModel.UserSelection.GetUserSelection(); viewModel.UnsubscribeEventHandlers(); Assert.True(userSelection.ProjectType == Blank); Assert.True(userSelection.FrontEndFramework == MVVMLight); Assert.True(userSelection.Pages.First().TemplateId == PageBlank); }