From 2c2fb116ecff41f9c878a92d958d93d8e9caf64d Mon Sep 17 00:00:00 2001 From: Gabriela Trutan Date: Wed, 18 Dec 2024 15:25:34 +0100 Subject: [PATCH] SLVS-1721 Fix "Use shared configuration" button not shown after unbind (#5907) --- .../ManageBindingViewModelTests.cs | 40 ++++++++++++++++++- .../ManageBinding/ManageBindingViewModel.cs | 10 ++--- 2 files changed, 42 insertions(+), 8 deletions(-) diff --git a/src/ConnectedMode.UnitTests/UI/ManageBinding/ManageBindingViewModelTests.cs b/src/ConnectedMode.UnitTests/UI/ManageBinding/ManageBindingViewModelTests.cs index eb524d86a..a3ece5229 100644 --- a/src/ConnectedMode.UnitTests/UI/ManageBinding/ManageBindingViewModelTests.cs +++ b/src/ConnectedMode.UnitTests/UI/ManageBinding/ManageBindingViewModelTests.cs @@ -312,6 +312,42 @@ public void IsUseSharedBindingButtonEnabled_ReturnsTrueOnlyWhenNoBindingIsInProg testSubject.IsUseSharedBindingButtonEnabled.Should().Be(expectedResult); } + [TestMethod] + public void IsUseSharedBindingButtonVisible_SharedBindingConfigExistsAndProjectIsBound_ReturnsFalse() + { + testSubject.SharedBindingConfigModel = new SharedBindingConfigModel(); + testSubject.BoundProject = serverProject; + + testSubject.IsUseSharedBindingButtonVisible.Should().BeFalse(); + } + + [TestMethod] + public void IsUseSharedBindingButtonVisible_SharedBindingConfigExistsAndProjectIsUnbound_ReturnsTrue() + { + testSubject.SharedBindingConfigModel = new SharedBindingConfigModel(); + testSubject.BoundProject = null; + + testSubject.IsUseSharedBindingButtonVisible.Should().BeTrue(); + } + + [TestMethod] + public void IsUseSharedBindingButtonVisible_SharedBindingConfigDoesNotExistAndProjectIsBound_ReturnsFalse() + { + testSubject.SharedBindingConfigModel = null; + testSubject.BoundProject = serverProject; + + testSubject.IsUseSharedBindingButtonVisible.Should().BeFalse(); + } + + [TestMethod] + public void IsUseSharedBindingButtonVisible_SharedBindingConfigDoesNotExistAndProjectIsUnbound_ReturnsFalse() + { + testSubject.SharedBindingConfigModel = null; + testSubject.BoundProject = null; + + testSubject.IsUseSharedBindingButtonVisible.Should().BeFalse(); + } + [TestMethod] public void SharedBindingConfigModel_Set_RaisesEvents() { @@ -564,13 +600,13 @@ await progressReporterViewModel.Received(1) } [TestMethod] - public async Task InitializeDataAsync_WhenBound_DoesNotChecksForSharedBindingAndReportsProgress() + public async Task InitializeDataAsync_WhenBound_ChecksForSharedBindingAndReportsProgress() { testSubject.BoundProject = serverProject; await testSubject.InitializeDataAsync(); - await progressReporterViewModel.DidNotReceive() + await progressReporterViewModel.Received(1) .ExecuteTaskWithProgressAsync( Arg.Is>(x => x.TaskToPerform == testSubject.CheckForSharedBindingAsync && diff --git a/src/ConnectedMode/UI/ManageBinding/ManageBindingViewModel.cs b/src/ConnectedMode/UI/ManageBinding/ManageBindingViewModel.cs index 34870826e..b0718a8a3 100644 --- a/src/ConnectedMode/UI/ManageBinding/ManageBindingViewModel.cs +++ b/src/ConnectedMode/UI/ManageBinding/ManageBindingViewModel.cs @@ -142,12 +142,10 @@ public async Task InitializeDataAsync() UiResources.FetchingBindingStatusFailedText) { AfterProgressUpdated = OnProgressUpdated }; await ProgressReporter.ExecuteTaskWithProgressAsync(displayBindStatus); - if (!IsCurrentProjectBound) - { - var detectSharedBinding = new TaskToPerformParams(CheckForSharedBindingAsync, UiResources.CheckingForSharedBindingText, - UiResources.CheckingForSharedBindingFailedText) { AfterProgressUpdated = OnProgressUpdated }; - await ProgressReporter.ExecuteTaskWithProgressAsync(detectSharedBinding); - } + var detectSharedBinding = new TaskToPerformParams(CheckForSharedBindingAsync, UiResources.CheckingForSharedBindingText, + UiResources.CheckingForSharedBindingFailedText) + { AfterProgressUpdated = OnProgressUpdated }; + await ProgressReporter.ExecuteTaskWithProgressAsync(detectSharedBinding); } public async Task BindWithProgressAsync()