public async Task OnClickSettingTests_Exception()
        {
            var unitUnderTest = CreateViewModel();

            unitUnderTest.Initialize(EventLogCooperationPage.BuildNavigationParams((EventLogCooperationPage.TransitionReason) 99));

            await Assert.ThrowsAsync <ArgumentException>(() => unitUnderTest.OnClickSetting.ExecuteAsync());

            _mockNavigationService.Verify(x => x.NavigateAsync(It.IsAny <string>(), It.IsAny <INavigationParameters>()), Times.Never());
        }
        public async Task OnClickSetLaterTests_Splash()
        {
            var unitUnderTest = CreateViewModel();

            unitUnderTest.Initialize(EventLogCooperationPage.BuildNavigationParams(EventLogCooperationPage.TransitionReason.Splash));

            await unitUnderTest.OnClickSetLater.ExecuteAsync();

            _mockNavigationService.Verify(x => x.NavigateAsync(It.IsAny <string>()), Times.Never());
            _mockSplashNavigationService.Verify(x => x.NavigateNextAsync(true), Times.Once());
        }
        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();
            }
        }
        public async Task OnClickSettingTests_Splash()
        {
            var unitUnderTest = CreateViewModel();

            unitUnderTest.Initialize(EventLogCooperationPage.BuildNavigationParams(EventLogCooperationPage.TransitionReason.Splash));

            await unitUnderTest.OnClickSetting.ExecuteAsync();

            _mockNavigationService.Verify(x =>
                                          x.NavigateAsync($"{nameof(EventLogSettingPage)}",
                                                          It.Is <INavigationParameters>(x =>
                                                                                        x.ContainsKey(EventLogSettingPage.TransitionReasonKey) &&
                                                                                        x.GetValue <EventLogSettingPage.TransitionReason>(EventLogSettingPage.TransitionReasonKey) == EventLogSettingPage.TransitionReason.Splash)
                                                          ),
                                          Times.Once()
                                          );
        }
Esempio n. 5
0
 public async Task NavigateNextPage()
 {
     INavigationParameters navigatinParameters =
         EventLogCooperationPage.BuildNavigationParams(EventLogCooperationPage.TransitionReason.Tutorial);
     await NavigationService.NavigateAsync(nameof(EventLogCooperationPage), navigatinParameters);
 }