public void TestEnsureAnalyticsOptInSkipsPrompt() { _analyticsOptions.DialogShown = true; _analyticsOptions.OptIn = false; EventsReporterWrapper.EnsureAnalyticsOptIn(); _promptAnalyticsMock.Verify(f => f(), Times.Never); Assert.IsTrue(_analyticsOptions.DialogShown); Assert.IsFalse(_analyticsOptions.OptIn); }
public void TestEnsureAnalyticsOptIn_ShowsPromptWhenDialogNotShown() { _generalOptions.DialogShown = false; _generalOptions.OptIn = false; PackageMock.Setup(p => p.UserPromptService.PromptUser(It.IsAny <AnalyticsOptInWindowContent>())) .Returns(true); EventsReporterWrapper.EnsureAnalyticsOptIn(); Assert.IsTrue(_generalOptions.OptIn); Assert.IsTrue(_generalOptions.DialogShown); }
public void TestEnsureAnalyticsOptInShowsPrompt() { _analyticsOptions.DialogShown = false; _analyticsOptions.OptIn = false; _promptAnalyticsMock.Setup(f => f()).Returns(true); EventsReporterWrapper.EnsureAnalyticsOptIn(); _promptAnalyticsMock.Verify(f => f(), Times.Once); Assert.IsTrue(_analyticsOptions.OptIn); Assert.IsTrue(_analyticsOptions.DialogShown); }
public ManageAccountsViewModel() { _userAccountsList = LoadUserCredentialsViewModel(); CurrentAccountName = CredentialsStore.Default.CurrentAccount?.AccountName; SetAsCurrentAccountCommand = new ProtectedCommand(OnSetAsCurrentAccountCommand, canExecuteCommand: false); DeleteAccountCommand = new ProtectedCommand(OnDeleteAccountCommand); AddAccountCommand = new ProtectedAsyncCommand(OnAddAccountCommandAsync); EventsReporterWrapper.EnsureAnalyticsOptIn(); }
public void TestEnsureAnalyticsOptIn_SkipsPromptWhenDialogShown() { _generalOptions.DialogShown = true; _generalOptions.OptIn = false; EventsReporterWrapper.EnsureAnalyticsOptIn(); PackageMock.Verify( p => p.UserPromptService.PromptUser(It.IsAny <AnalyticsOptInWindowContent>()), Times.Never); Assert.IsTrue(_generalOptions.DialogShown); Assert.IsFalse(_generalOptions.OptIn); }
/// <summary> /// Initializes the singleton instance of the command. /// </summary> /// <param name="package">Owner package, not null.</param> /// <param name="token">The cancellation token.</param> public static async Task InitializeAsync(IGoogleCloudExtensionPackage package, CancellationToken token) { object menuCommandService = await package.GetServiceAsync(typeof(IMenuCommandService)); await package.JoinableTaskFactory.SwitchToMainThreadAsync(token); if (menuCommandService is OleMenuCommandService commandService) { var menuCommandID = new CommandID(s_commandSet, CommandId); var menuItem = new MenuCommand(ShowToolWindow, menuCommandID); commandService.AddCommand(menuItem); } // <summary> // Shows the tool window when the menu item is clicked. // </summary> // <param name="sender">The event sender.</param> // <param name="e">The event args.</param> void ShowToolWindow(object sender, EventArgs e) { EventsReporterWrapper.EnsureAnalyticsOptIn(); ErrorHandlerUtils.HandleExceptionsAsync(ShowToolWindowAsync); } async Task ShowToolWindowAsync() { // Get the instance number 0 of this tool window. This window is single instance so this instance // is actually the only one. // The last flag is set to true so that if the tool window does not exists it will be created. var window = package.FindToolWindow <CloudExplorerToolWindow>(true); if (window?.Frame == null) { throw new NotSupportedException("Cannot create tool window"); } await package.JoinableTaskFactory.SwitchToMainThreadAsync(); var windowFrame = (IVsWindowFrame)window.Frame; Microsoft.VisualStudio.ErrorHandler.ThrowOnFailure(windowFrame.Show()); } }
/// <summary> /// Shows the tool window when the menu item is clicked. /// </summary> /// <param name="sender">The event sender.</param> /// <param name="e">The event args.</param> private void ShowToolWindow(object sender, EventArgs e) { EventsReporterWrapper.EnsureAnalyticsOptIn(); ErrorHandlerUtils.HandleExceptions(() => { // Get the instance number 0 of this tool window. This window is single instance so this instance // is actually the only one. // The last flag is set to true so that if the tool window does not exists it will be created. ToolWindowPane window = _package.FindToolWindow(typeof(CloudExplorerToolWindow), 0, true); if (window?.Frame == null) { throw new NotSupportedException("Cannot create tool window"); } IVsWindowFrame windowFrame = (IVsWindowFrame)window.Frame; Microsoft.VisualStudio.ErrorHandler.ThrowOnFailure(windowFrame.Show()); }); }
/// <summary> /// Shows the tool window when the menu item is clicked. /// </summary> /// <param name="sender">The event sender.</param> /// <param name="e">The event args.</param> private void ShowToolWindow(object sender, EventArgs e) { EventsReporterWrapper.EnsureAnalyticsOptIn(); ManageAccountsWindow.PromptUser(); }