public void OpenWebViewCommandTests() { var reAgreeTermsOfServicePageViewModel = CreateViewModel(); var termsOfServiceDetail = new TermsUpdateInfoModel.Detail { Text = "利用規約テキスト", UpdateDateTimeJst = new DateTime(2020, 11, 01) }; var param = ReAgreeTermsOfServicePage.BuildNavigationParams(termsOfServiceDetail); reAgreeTermsOfServicePageViewModel.Initialize(param); var actualCalls = 0; string actualUri = default; BrowserLaunchMode actualLaunchMode = default; reAgreeTermsOfServicePageViewModel.BrowserOpenAsync = (uri, launchMode) => { actualCalls++; actualUri = uri; actualLaunchMode = launchMode; return(Task.CompletedTask); }; reAgreeTermsOfServicePageViewModel.OpenWebView.Execute(null); Assert.Equal(1, actualCalls); Assert.Equal(AppResources.UrlTermOfUse, actualUri); Assert.Equal(BrowserLaunchMode.SystemPreferred, actualLaunchMode); }
public bool IsUpdated(TermsType termsType, TermsUpdateInfoModel termsUpdateInfo) { loggerService.StartMethod(); TermsUpdateInfoModel.Detail info = termsType switch { TermsType.TermsOfService => termsUpdateInfo.TermsOfService, TermsType.PrivacyPolicy => termsUpdateInfo.PrivacyPolicy, _ => throw new NotSupportedException() }; if (info == null) { loggerService.EndMethod(); return(false); } var updateDatetime = info.UpdateDateTimeUtc; DateTime lastUpdateDate = userDataRepository.GetLastUpdateDate(termsType); loggerService.Info($"termsType: {termsType}, lastUpdateDate: {lastUpdateDate}, updateDatetimeUtc: {updateDatetime}"); loggerService.EndMethod(); return(lastUpdateDate < updateDatetime); } }
public static INavigationParameters BuildNavigationParams( TermsUpdateInfoModel.Detail termsOfServiceDetail) { var param = new NavigationParameters(); param.Add(TermsOfServiceDetailKey, termsOfServiceDetail); return(param); }
public static INavigationParameters BuildNavigationParams( TermsUpdateInfoModel.Detail privatcyPolicyDetail ) { var param = new NavigationParameters(); param.Add(PrivacyPolicyDetailKey, privatcyPolicyDetail); return(param); }
public override void Initialize(INavigationParameters parameters) { loggerService.StartMethod(); base.Initialize(parameters); TermsUpdateInfoModel.Detail updateInfo = (TermsUpdateInfoModel.Detail)parameters["updatePrivacyPolicyInfo"]; UpdateDateTime = updateInfo.UpdateDateTime; UpdateText = updateInfo.Text; loggerService.EndMethod(); }
public void InitializeTests() { var reAgreeTermsOfServicePageViewModel = CreateViewModel(); var termsOfServiceDetail = new TermsUpdateInfoModel.Detail { Text = "利用規約テキスト", UpdateDateTimeJst = new DateTime(2020, 11, 01) }; var param = ReAgreeTermsOfServicePage.BuildNavigationParams(termsOfServiceDetail); reAgreeTermsOfServicePageViewModel.Initialize(param); Assert.Equal(termsOfServiceDetail.Text, reAgreeTermsOfServicePageViewModel.UpdateText); }
public override void Initialize(INavigationParameters parameters) { _loggerService.StartMethod(); base.Initialize(parameters); TermsUpdateInfoModel.Detail updateInfo = (TermsUpdateInfoModel.Detail)parameters[ReAgreePrivacyPolicyPage.UpdatePrivacyPolicyInfoKey]; UpdateDateTimeUtc = updateInfo.UpdateDateTimeUtc; UpdateText = updateInfo.Text; _navigationParameters = parameters; _loggerService.EndMethod(); }
public void InitializeTests() { var reAgreePrivacyPolicyPageViewModel = CreateViewModel(); var privacyPolicyDetail = new TermsUpdateInfoModel.Detail { Text = "test", UpdateDateTimeJst = new DateTime(2020, 11, 02) }; var param = ReAgreePrivacyPolicyPage.BuildNavigationParams(privacyPolicyDetail); reAgreePrivacyPolicyPageViewModel.Initialize(param); Assert.Equal(privacyPolicyDetail.Text, reAgreePrivacyPolicyPageViewModel.UpdateText); }
public static INavigationParameters BuildNavigationParams( TermsUpdateInfoModel.Detail privacyPolicyInfo, Destination destination, INavigationParameters?baseParam = null ) { var param = new NavigationParameters(); param.CopyFrom(baseParam); param.Add(UpdatePrivacyPolicyInfoKey, privacyPolicyInfo); param.Add(DestinationKey, destination); return(param); }
public void InitializeTests() { var reAgreePrivacyPolicyPageViewModel = CreateViewModel(); var updateInfo = new TermsUpdateInfoModel.Detail { Text = "test", UpdateDateTime = new DateTime(2020, 11, 02) }; var param = new NavigationParameters { { "updatePrivacyPolicyInfo", updateInfo } }; reAgreePrivacyPolicyPageViewModel.Initialize(param); Assert.Equal(updateInfo.Text, reAgreePrivacyPolicyPageViewModel.UpdateText); }
public void OnClickReAgreeCommandTests() { var reAgreeTermsOfServicePageViewModel = CreateViewModel(); var termsOfServiceDetail = new TermsUpdateInfoModel.Detail { Text = "利用規約テキスト", UpdateDateTimeJst = new DateTime(2020, 11, 01) }; var param = ReAgreeTermsOfServicePage.BuildNavigationParams(termsOfServiceDetail); reAgreeTermsOfServicePageViewModel.Initialize(param); mockUserDataRepository.Setup(x => x.SaveLastUpdateDate(TermsType.TermsOfService, termsOfServiceDetail.UpdateDateTimeUtc)); reAgreeTermsOfServicePageViewModel.OnClickReAgreeCommand.Execute(null); mockSplashNavigationService.Verify(x => x.NavigateNextAsync(false), Times.Once()); }
public void OnClickReAgreeCommandTests() { var reAgreePrivacyPolicyPageViewModel = CreateViewModel(); var updateInfo = new TermsUpdateInfoModel.Detail { Text = "", UpdateDateTime = DateTime.Now }; var param = new NavigationParameters { { "updatePrivacyPolicyInfo", updateInfo } }; reAgreePrivacyPolicyPageViewModel.Initialize(param); mockTermsUpdateService.Setup(x => x.SaveLastUpdateDate(TermsType.PrivacyPolicy, updateInfo.UpdateDateTime)); reAgreePrivacyPolicyPageViewModel.OnClickReAgreeCommand.Execute(null); mockNavigationService.Verify(x => x.NavigateAsync("/" + nameof(MenuPage) + "/" + nameof(NavigationPage) + "/" + nameof(HomePage)), Times.Once()); }
public bool IsReAgree(TermsType termsType, TermsUpdateInfoModel termsUpdateInfo) { loggerService.StartMethod(); TermsUpdateInfoModel.Detail info = null; string key = null; switch (termsType) { case TermsType.TermsOfService: info = termsUpdateInfo.TermsOfService; key = PreferenceKey.TermsOfServiceLastUpdateDateTime; break; case TermsType.PrivacyPolicy: info = termsUpdateInfo.PrivacyPolicy; key = PreferenceKey.PrivacyPolicyLastUpdateDateTime; break; } if (info == null) { loggerService.EndMethod(); return(false); } var lastUpdateDate = new DateTime(); if (preferencesService.ContainsKey(key)) { lastUpdateDate = preferencesService.GetValue(key, lastUpdateDate); } loggerService.Info($"termsType: {termsType}, lastUpdateDate: {lastUpdateDate}, info.UpdateDateTime: {info.UpdateDateTime}"); loggerService.EndMethod(); return(lastUpdateDate < info.UpdateDateTime); }
public bool IsReAgree(TermsType privacyType, TermsUpdateInfoModel termsUpdateInfo) { loggerService.StartMethod(); TermsUpdateInfoModel.Detail info = null; string key = null; switch (privacyType) { case TermsType.TermsOfService: info = termsUpdateInfo.TermsOfService; key = TermsOfServiceLastUpdateDateKey; break; case TermsType.PrivacyPolicy: info = termsUpdateInfo.PrivacyPolicy; key = PrivacyPolicyLastUpdateDateKey; break; } if (info == null) { loggerService.EndMethod(); return(false); } var lastUpdateDate = new DateTime(); if (applicationPropertyService.ContainsKey(key)) { lastUpdateDate = (DateTime)applicationPropertyService.GetProperties(key); } loggerService.Info($"privacyType: {privacyType}, lastUpdateDate: {lastUpdateDate}, info.UpdateDateTime: {info.UpdateDateTime}"); loggerService.EndMethod(); return(lastUpdateDate < info.UpdateDateTime); }