Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 5
0
        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");
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
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);
        }
Exemplo n.º 12
0
        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);
        }
Exemplo n.º 16
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);
        }
Exemplo n.º 17
0
        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");
        }
Exemplo n.º 18
0
        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);
        }
Exemplo n.º 19
0
        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);
        }
Exemplo n.º 22
0
        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);
        }