Example #1
0
        public void OpenWebViewCommandTests()
        {
            var reAgreePrivacyPolicyPageViewModel = CreateViewModel();

            var privacyPolicyDetail = new TermsUpdateInfoModel.Detail {
                Text = "test", UpdateDateTimeJst = new DateTime(2020, 11, 02)
            };

            var param = ReAgreePrivacyPolicyPage.BuildNavigationParams(privacyPolicyDetail);

            reAgreePrivacyPolicyPageViewModel.Initialize(param);

            var               actualCalls      = 0;
            string            actualUri        = default;
            BrowserLaunchMode actualLaunchMode = default;

            reAgreePrivacyPolicyPageViewModel.BrowserOpenAsync = (uri, launchMode) =>
            {
                actualCalls++;
                actualUri        = uri;
                actualLaunchMode = launchMode;
                return(Task.CompletedTask);
            };

            reAgreePrivacyPolicyPageViewModel.OpenWebView.Execute(null);

            Assert.Equal(1, actualCalls);
            Assert.Equal(AppResources.UrlPrivacyPolicy, actualUri);
            Assert.Equal(BrowserLaunchMode.SystemPreferred, actualLaunchMode);
        }
Example #2
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();
        }
Example #3
0
        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 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();
            }
        }
Example #5
0
        public void OnClickReAgreeCommandTests()
        {
            var reAgreePrivacyPolicyPageViewModel = CreateViewModel();
            var privacyPolicyDetail = new TermsUpdateInfoModel.Detail {
                Text = "test", UpdateDateTimeJst = new DateTime(2020, 11, 02)
            };

            var param = ReAgreePrivacyPolicyPage.BuildNavigationParams(privacyPolicyDetail);

            reAgreePrivacyPolicyPageViewModel.Initialize(param);

            mockUserDataRepository.Setup(x => x.SaveLastUpdateDate(TermsType.PrivacyPolicy, privacyPolicyDetail.UpdateDateTimeUtc));
            reAgreePrivacyPolicyPageViewModel.OnClickReAgreeCommand.Execute(null);

            mockSplashNavigationService.Verify(x => x.NavigateNextAsync(false), Times.Once());
        }
        public void InitializeTests()
        {
            var reAgreePrivacyPolicyPageViewModel = CreateViewModel();

            var updateInfo = new TermsUpdateInfoModel
            {
                PrivacyPolicy = new TermsUpdateInfoModel.Detail {
                    Text = "test", UpdateDateTimeJst = new DateTime(2020, 11, 02)
                }
            };

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

            reAgreePrivacyPolicyPageViewModel.Initialize(param);

            Assert.Equal(updateInfo.PrivacyPolicy.Text, reAgreePrivacyPolicyPageViewModel.UpdateText);
        }
        public void OnClickReAgreeCommandTests()
        {
            var reAgreePrivacyPolicyPageViewModel = CreateViewModel();
            var updateInfo = new TermsUpdateInfoModel
            {
                PrivacyPolicy = new TermsUpdateInfoModel.Detail {
                    Text = "test", UpdateDateTimeJst = DateTime.Now
                }
            };

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

            reAgreePrivacyPolicyPageViewModel.Initialize(param);

            mockUserDataRepository.Setup(x => x.SaveLastUpdateDate(TermsType.PrivacyPolicy, updateInfo.PrivacyPolicy.UpdateDateTimeUtc));
            reAgreePrivacyPolicyPageViewModel.OnClickReAgreeCommand.Execute(null);

            mockNavigationService.Verify(x => x.NavigateAsync(Destination.HomePage.ToPath(), param), Times.Once());
        }