public CreateAcounteViewModel(INavigationService serviceNavigation) { _serviceNavigation = serviceNavigation; _service = new CreateAccountService(); Message = new FlowObservableCollection <MessageRegistrationModel>(); User = new UserModel(); loading = new PopUpLoadingMessageView(); IsEntry = "false"; IsButtonTerm = "false"; IsButtonConfirm = "false"; _ = InitialMessage(); Message.CollectionChanged += (sender, e) => { Page currentPage = Application.Current.MainPage.Navigation.NavigationStack.LastOrDefault(); ListView listView = currentPage.FindByName <ListView>("MessagesListView"); var target = Message[Message.Count - 1]; if (Device.RuntimePlatform == Device.iOS) { listView.ScrollTo(target, ScrollToPosition.MakeVisible, true); } else if (Device.RuntimePlatform == Device.Android) { listView.ScrollTo(target, ScrollToPosition.Start, true); } }; }
public void Test() { // Startup the Services var createUserService = new CreateUserService(); var createAccountService = new CreateAccountService(); var linkAccountToUserService = new AccountToUser(); // Request a User var userRequestedEvent = new UserRequested(); userRequestedEvent.UserName = "******"; UserRequested.Publish(userRequestedEvent); // Request an Account var accountRequestedEvent = new AccountRequested(); accountRequestedEvent.AccountName = "Moneypants"; accountRequestedEvent.UserId = User.Projections[0].Id; AccountRequested.Publish(accountRequestedEvent); // Assert Account Exists var accountCount = Account.Projections.Count; Assert.Equal(1, accountCount); // Assert User Exists var userCount = Account.Projections.Count; Assert.Equal(1, userCount); //Assert Account is Linked to User var account = Account.Projections[0]; var user = User.Projections[0]; Assert.Equal(account.UserId, user.Id); Assert.Equal(user.AccountIds[0], account.Id); }