Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        public override async void OnNavigatedTo(INavigationParameters parameters)
        {
            _loggerService.StartMethod();

            base.OnNavigatedTo(parameters);

            await _migrationService.MigrateAsync();

            var destination = Destination.HomePage;

            if (parameters.ContainsKey(SplashPage.DestinationKey))
            {
                _loggerService.Info($"Destination is set {destination}");
                destination = parameters.GetValue <Destination>(SplashPage.DestinationKey);
            }

            if (_userDataRepository.IsAllAgreed())
            {
                _loggerService.Info("User data exists");

                var termsUpdateInfo = await _termsUpdateService.GetTermsUpdateInfo();

                if (_termsUpdateService.IsUpdated(TermsType.TermsOfService, termsUpdateInfo))
                {
                    _loggerService.Info($"Transition to ReAgreeTermsOfServicePage");

                    var navigationParams = ReAgreeTermsOfServicePage.BuildNavigationParams(termsUpdateInfo, destination, parameters);
                    _ = await NavigationService.NavigateAsync("/" + nameof(ReAgreeTermsOfServicePage), navigationParams);
                }
                else if (_termsUpdateService.IsUpdated(TermsType.PrivacyPolicy, termsUpdateInfo))
                {
                    _loggerService.Info($"Transition to ReAgreePrivacyPolicyPage");

                    var navigationParams = ReAgreePrivacyPolicyPage.BuildNavigationParams(termsUpdateInfo.PrivacyPolicy, destination, parameters);
                    _ = await NavigationService.NavigateAsync("/" + nameof(ReAgreePrivacyPolicyPage), navigationParams);
                }
                else
                {
                    _loggerService.Info($"Transition to {destination}");
                    _ = await NavigationService.NavigateAsync(destination.ToPath(), parameters);
                }
            }
            else
            {
                _loggerService.Info("No user data exists");
                _loggerService.Info($"Transition to TutorialPage1");
                _ = await NavigationService.NavigateAsync("/" + nameof(TutorialPage1));
            }

            _loggerService.EndMethod();
        }
Пример #4
0
        public async Task <INavigationResult> NavigateNextAsync(bool isSetupLaterEventLog = false)
        {
            _loggerService.StartMethod();

            try
            {
                string name;
                INavigationParameters parameters;

                if (_userDataRepository.IsAllAgreed())
                {
                    _loggerService.Info("Is all agreed");

                    if (_termsUpdateService.IsUpdated(TermsType.TermsOfService, _termsUpdateInfoModel))
                    {
                        name       = $"/{nameof(ReAgreeTermsOfServicePage)}";
                        parameters = ReAgreeTermsOfServicePage.BuildNavigationParams(_termsUpdateInfoModel.TermsOfService);
                    }
                    else if (_termsUpdateService.IsUpdated(TermsType.PrivacyPolicy, _termsUpdateInfoModel))
                    {
                        name       = $"/{nameof(ReAgreePrivacyPolicyPage)}";
                        parameters = ReAgreePrivacyPolicyPage.BuildNavigationParams(_termsUpdateInfoModel.PrivacyPolicy);
                    }
                    else if (!isSetupLaterEventLog && _sendEventLogStateRepository.IsExistNotSetEventType())
                    {
                        name       = $"/{nameof(EventLogCooperationPage)}";
                        parameters = EventLogCooperationPage.BuildNavigationParams(EventLogCooperationPage.TransitionReason.Splash);
                    }
                    else
                    {
                        name       = Destination.ToPath();
                        parameters = DestinationPageParameters;
                    }
                }
                else
                {
                    name       = $"/{nameof(TutorialPage1)}";
                    parameters = null;
                }

                _loggerService.Info($"Transition to {name}");
                return(await _navigationService.NavigateAsync(name, parameters));
            }
            finally
            {
                _loggerService.EndMethod();
            }
        }
Пример #5
0
        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 InitializeTests()
        {
            var reAgreeTermsOfServicePageViewModel = CreateViewModel();
            var updateInfo = new TermsUpdateInfoModel
            {
                TermsOfService = new TermsUpdateInfoModel.Detail {
                    Text = "利用規約テキスト", UpdateDateTimeJst = new DateTime(2020, 11, 01)
                },
                PrivacyPolicy = new TermsUpdateInfoModel.Detail {
                    Text = "プライバシーポリシーテキスト", UpdateDateTimeJst = new DateTime(2020, 11, 02)
                }
            };

            var param = ReAgreeTermsOfServicePage.BuildNavigationParams(updateInfo, Destination.HomePage);

            reAgreeTermsOfServicePageViewModel.Initialize(param);

            Assert.Equal(updateInfo.TermsOfService.Text, reAgreeTermsOfServicePageViewModel.UpdateText);
        }
        public void OnClickReAgreeCommandWithDestinationTest()
        {
            var reAgreeTermsOfServicePageViewModel = CreateViewModel();
            var updateInfo = new TermsUpdateInfoModel
            {
                TermsOfService = new TermsUpdateInfoModel.Detail {
                    Text = "利用規約テキスト", UpdateDateTimeJst = new DateTime(2020, 11, 01)
                },
                PrivacyPolicy = new TermsUpdateInfoModel.Detail {
                    Text = "プライバシーポリシーテキスト", UpdateDateTimeJst = new DateTime(2020, 11, 02)
                }
            };

            var param = ReAgreeTermsOfServicePage.BuildNavigationParams(updateInfo, Destination.NotifyOtherPage);

            reAgreeTermsOfServicePageViewModel.Initialize(param);

            mockUserDataRepository.Setup(x => x.SaveLastUpdateDate(TermsType.TermsOfService, updateInfo.TermsOfService.UpdateDateTimeUtc));
            mockTermsUpdateService.Setup(x => x.IsUpdated(TermsType.PrivacyPolicy, updateInfo)).Returns(false);
            reAgreeTermsOfServicePageViewModel.OnClickReAgreeCommand.Execute(null);

            mockNavigationService.Verify(x => x.NavigateAsync(Destination.NotifyOtherPage.ToPath(), param), Times.Once());
        }
        public void OnClickReAgreeCommandTests_NavigateReAgreePrivacyPolicyPageViewModel()
        {
            var reAgreeTermsOfServicePageViewModel = CreateViewModel();
            var updateInfo = new TermsUpdateInfoModel
            {
                TermsOfService = new TermsUpdateInfoModel.Detail {
                    Text = "利用規約テキスト", UpdateDateTimeJst = new DateTime(2020, 11, 01)
                },
                PrivacyPolicy = new TermsUpdateInfoModel.Detail {
                    Text = "プライバシーポリシーテキスト", UpdateDateTimeJst = new DateTime(2020, 11, 02)
                }
            };

            var param = ReAgreeTermsOfServicePage.BuildNavigationParams(updateInfo, Destination.HomePage);

            reAgreeTermsOfServicePageViewModel.Initialize(param);

            mockUserDataRepository.Setup(x => x.SaveLastUpdateDate(TermsType.TermsOfService, updateInfo.TermsOfService.UpdateDateTimeUtc));
            mockTermsUpdateService.Setup(x => x.IsUpdated(TermsType.PrivacyPolicy, updateInfo)).Returns(true);
            reAgreeTermsOfServicePageViewModel.OnClickReAgreeCommand.Execute(null);

            param.Add("updatePrivacyPolicyInfo", updateInfo.PrivacyPolicy);
            mockNavigationService.Verify(x => x.NavigateAsync(nameof(ReAgreePrivacyPolicyPage), It.IsAny <NavigationParameters>()), Times.Once());
        }