From 6bd6881f0b26b81ab643f48249b46e8de8748650 Mon Sep 17 00:00:00 2001 From: cocoa-dev003 <66989607+cocoa-dev003@users.noreply.github.com> Date: Wed, 10 Aug 2022 18:37:33 +0900 Subject: [PATCH] Fixed the conditions for displaying notification off warning text --- .../ViewModels/HomePage/HomePageViewModel.cs | 5 +++-- .../ViewModels/HomePage/HomePageViewModelTests.cs | 13 +++++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Covid19Radar/Covid19Radar/ViewModels/HomePage/HomePageViewModel.cs b/Covid19Radar/Covid19Radar/ViewModels/HomePage/HomePageViewModel.cs index ff3a4e5d5..834957d3f 100644 --- a/Covid19Radar/Covid19Radar/ViewModels/HomePage/HomePageViewModel.cs +++ b/Covid19Radar/Covid19Radar/ViewModels/HomePage/HomePageViewModel.cs @@ -458,6 +458,7 @@ private async Task UpdateView() IsVisibleENStatusActiveLayout = false; IsVisibleENStatusUnconfirmedLayout = false; IsVisibleENStatusStoppedLayout = true; + IsVisibleLocalNotificationOffWarningLayout = false; } else if (!canConfirmExposure) { @@ -465,6 +466,7 @@ private async Task UpdateView() IsVisibleENStatusActiveLayout = false; IsVisibleENStatusUnconfirmedLayout = true; IsVisibleENStatusStoppedLayout = false; + IsVisibleLocalNotificationOffWarningLayout = false; var isMaxPerDayExposureDetectionAPILimitReached = _userDataRepository.IsMaxPerDayExposureDetectionAPILimitReached(); EnStatusUnconfirmedDescription1 = isMaxPerDayExposureDetectionAPILimitReached @@ -478,6 +480,7 @@ private async Task UpdateView() IsVisibleENStatusActiveLayout = true; IsVisibleENStatusUnconfirmedLayout = false; IsVisibleENStatusStoppedLayout = false; + IsVisibleLocalNotificationOffWarningLayout = await localNotificationService.IsWarnedLocalNotificationOffAsync(); var latestUtcDate = _userDataRepository.GetLastConfirmedDate(); if (latestUtcDate == null) @@ -498,8 +501,6 @@ private async Task UpdateView() } } - IsVisibleLocalNotificationOffWarningLayout = await localNotificationService.IsWarnedLocalNotificationOffAsync(); - loggerService.EndMethod(); } diff --git a/Covid19Radar/Tests/Covid19Radar.UnitTests/ViewModels/HomePage/HomePageViewModelTests.cs b/Covid19Radar/Tests/Covid19Radar.UnitTests/ViewModels/HomePage/HomePageViewModelTests.cs index 4005aa5bc..732923138 100644 --- a/Covid19Radar/Tests/Covid19Radar.UnitTests/ViewModels/HomePage/HomePageViewModelTests.cs +++ b/Covid19Radar/Tests/Covid19Radar.UnitTests/ViewModels/HomePage/HomePageViewModelTests.cs @@ -228,6 +228,7 @@ public void UpdateView_ENStatus_Unconfirmed() Assert.False(homePageViewModel.IsVisibleENStatusActiveLayout); Assert.True(homePageViewModel.IsVisibleENStatusUnconfirmedLayout); Assert.False(homePageViewModel.IsVisibleENStatusStoppedLayout); + Assert.False(homePageViewModel.IsVisibleLocalNotificationOffWarningLayout); Assert.Equal(AppResources.HomePageENStatusUnconfirmedDescription1, homePageViewModel.EnStatusUnconfirmedDescription1); Assert.Equal(AppResources.HomePageENStatusUnconfirmedDescription2, homePageViewModel.EnStatusUnconfirmedDescription2); Assert.True(homePageViewModel.IsVisibleUnconfirmedTroubleshootingButton); @@ -254,6 +255,7 @@ public void UpdateView_ENStatus_Unconfirmed_Exposure_Detection_API_Limit_Reached Assert.False(homePageViewModel.IsVisibleENStatusActiveLayout); Assert.True(homePageViewModel.IsVisibleENStatusUnconfirmedLayout); Assert.False(homePageViewModel.IsVisibleENStatusStoppedLayout); + Assert.False(homePageViewModel.IsVisibleLocalNotificationOffWarningLayout); Assert.Equal(AppResources.HomePageExposureDetectionAPILimitReachedDescription1, homePageViewModel.EnStatusUnconfirmedDescription1); Assert.Equal(AppResources.HomePageExposureDetectionAPILimitReachedDescription2, homePageViewModel.EnStatusUnconfirmedDescription2); Assert.False(homePageViewModel.IsVisibleUnconfirmedTroubleshootingButton); @@ -277,6 +279,7 @@ public void UpdateView_ENStatus_Stopped() Assert.False(homePageViewModel.IsVisibleENStatusActiveLayout); Assert.False(homePageViewModel.IsVisibleENStatusUnconfirmedLayout); Assert.True(homePageViewModel.IsVisibleENStatusStoppedLayout); + Assert.False(homePageViewModel.IsVisibleLocalNotificationOffWarningLayout); } [Fact] @@ -328,13 +331,16 @@ public void UpdateView_ENStatus_Active() } [Fact] - public void UpdateView_LocalNotificationOffWarning_Hidden() + public void UpdateView_ENStatus_Active_LocalNotificationOffWarning_Hidden() { var homePageViewModel = CreateViewModel(); mockExposureNotificationApiService .Setup(x => x.GetStatusCodesAsync()) .Returns(Task.FromResult(new List() { ExposureNotificationStatus.Code_Android.ACTIVATED } as IList)); + mockPreferenceService + .Setup(x => x.GetBoolValue("CanConfirmExposure", true)) + .Returns(true); mockLocalNotificationService .Setup(x => x.IsWarnedLocalNotificationOffAsync()) .ReturnsAsync(false); @@ -345,13 +351,16 @@ public void UpdateView_LocalNotificationOffWarning_Hidden() } [Fact] - public void UpdateView_LocalNotificationOffWarning_Shown() + public void UpdateView_ENStatus_Active_LocalNotificationOffWarning_Shown() { var homePageViewModel = CreateViewModel(); mockExposureNotificationApiService .Setup(x => x.GetStatusCodesAsync()) .Returns(Task.FromResult(new List() { ExposureNotificationStatus.Code_Android.ACTIVATED } as IList)); + mockPreferenceService + .Setup(x => x.GetBoolValue("CanConfirmExposure", true)) + .Returns(true); mockLocalNotificationService .Setup(x => x.IsWarnedLocalNotificationOffAsync()) .ReturnsAsync(true);