From 74c80c24b26d7f2a7b94ff525244638422e992ac Mon Sep 17 00:00:00 2001 From: Jamie Cansdale Date: Sun, 15 Mar 2020 16:20:38 +0000 Subject: [PATCH 1/2] Always default to GitHub login --- .../Dialog/LoginCredentialsViewModel.cs | 21 +------------------ 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/src/GitHub.App/ViewModels/Dialog/LoginCredentialsViewModel.cs b/src/GitHub.App/ViewModels/Dialog/LoginCredentialsViewModel.cs index 2b071a9f32..fce1a65368 100644 --- a/src/GitHub.App/ViewModels/Dialog/LoginCredentialsViewModel.cs +++ b/src/GitHub.App/ViewModels/Dialog/LoginCredentialsViewModel.cs @@ -1,8 +1,6 @@ using System; using System.ComponentModel.Composition; using System.Reactive.Linq; -using GitHub.App; -using GitHub.Primitives; using GitHub.Services; using ReactiveUI; @@ -28,8 +26,7 @@ public LoginCredentialsViewModel( (x, y) => x.Value || y.Value ).ToProperty(this, vm => vm.IsLoginInProgress); - UpdateLoginMode(); - connectionManager.Connections.CollectionChanged += (_, __) => UpdateLoginMode(); + LoginMode = LoginMode.DotComOrEnterprise; Done = Observable.Merge( loginToGitHubViewModel.Login, @@ -55,21 +52,5 @@ public LoginMode LoginMode public bool IsLoginInProgress { get { return isLoginInProgress.Value; } } public IObservable Done { get; } - - void UpdateLoginMode() - { - var result = LoginMode.DotComOrEnterprise; - - foreach (var connection in ConnectionManager.Connections) - { - if (connection.IsLoggedIn) - { - result &= ~((connection.HostAddress == HostAddress.GitHubDotComHostAddress) ? - LoginMode.DotComOnly : LoginMode.EnterpriseOnly); - } - } - - LoginMode = result; - } } } From ceef3e3922aa6a8de326d15ff0f0f66e025c9ff7 Mon Sep 17 00:00:00 2001 From: Jamie Cansdale Date: Tue, 17 Mar 2020 11:27:58 +0000 Subject: [PATCH 2/2] Check GitHub and GitHub Enterprise log-in options available --- .../Dialog/LoginCredentialsViewModelTests.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/test/GitHub.App.UnitTests/ViewModels/Dialog/LoginCredentialsViewModelTests.cs b/test/GitHub.App.UnitTests/ViewModels/Dialog/LoginCredentialsViewModelTests.cs index 2ffb951c1c..eed626b048 100644 --- a/test/GitHub.App.UnitTests/ViewModels/Dialog/LoginCredentialsViewModelTests.cs +++ b/test/GitHub.App.UnitTests/ViewModels/Dialog/LoginCredentialsViewModelTests.cs @@ -76,8 +76,10 @@ public async Task AllowsLoginFromEnterpriseAfterGitHubLoginHasFailedAsync() public class TheLoginModeProperty : TestBaseClass { [Test] - public void LoginModeTracksAvailableConnections() + public void LoginModeIgnoresAvailableConnections() { + // We always want to option to log-in to GitHub or GitHub Enterprise + var connectionManager = Substitute.For(); var connections = new ObservableCollectionEx(); var gitHubLogin = Substitute.For(); @@ -96,13 +98,13 @@ public void LoginModeTracksAvailableConnections() Assert.That(LoginMode.DotComOrEnterprise, Is.EqualTo(loginViewModel.LoginMode)); connections.Add(enterpriseConnection); - Assert.That(LoginMode.DotComOnly, Is.EqualTo(loginViewModel.LoginMode)); + Assert.That(LoginMode.DotComOrEnterprise, Is.EqualTo(loginViewModel.LoginMode)); connections.Add(gitHubConnection); - Assert.That(LoginMode.None, Is.EqualTo(loginViewModel.LoginMode)); + Assert.That(LoginMode.DotComOrEnterprise, Is.EqualTo(loginViewModel.LoginMode)); connections.RemoveAt(0); - Assert.That(LoginMode.EnterpriseOnly, Is.EqualTo(loginViewModel.LoginMode)); + Assert.That(LoginMode.DotComOrEnterprise, Is.EqualTo(loginViewModel.LoginMode)); } }