public async Task ShouldNavigateToConfirmationPage() { var accountService = new Mock <IAccountService>(); accountService.Setup(s => s.SignUp(It.IsAny <SignUpRequest>())).ReturnsAsync(new SignUpResponseModel(1)).Verifiable(); viewService .Setup(m => m.SetCurrentPage(It.Is((BaseViewModel p) => p.GetType() == typeof(ConfirmationCodeEntryViewModel)))) .Verifiable(); ConfirmationCodeEntryViewModel CreateConfirmationCodeEntryViewModel(int requestId) => new ConfirmationCodeEntryViewModel(requestId, null, null, null, null, null, null); var viewModel = new SignUpPageViewModel(accountService.Object, CreateConfirmationCodeEntryViewModel, dataFlow.Object, viewService.Object, () => phoneService.Object, deviceInfo.Object, connectivity.Object, appInfo.Object) { View = view.Object, FirstName = { Value = "Jhon" }, LastName = { Value = "Smith" }, MobileNumber = { Value = "+614245373" }, EmailAddress = { Value = "*****@*****.**" } }; Assert.True(viewModel.CanSignUp()); await viewModel.SignUp(); // Assert that there is a naviation call to confirmation page viewService.Verify(); accountService.Verify(); }
private async void registrationButton_Clicked(object sender, EventArgs e) { try { var prxCustomer = await _viewModel.SignUp(); if (prxCustomer.ResultCode == 1) { await Navigation.PopAsync(true); } else { await DisplayAlert("Error", prxCustomer.ResultMessage, "OK"); } _viewModel.Reset(); } catch (Exception ex) { await DisplayAlert("Error", ex.Message, "OK"); } }