示例#1
0
        protected override void OnAppearing()
        {
            base.OnAppearing();
            if (_viewModel == null)
            {
                _viewModel = new TodoItemsPageViewModel();
            }

            BindingContext = _viewModel;
            MessageCenterSubscribe();

            TodoItemListView.ItemTapped += TodoItemListView_ItemTapped;
        }
        protected override async void OnAppearing()
        {
            base.OnAppearing();
            if (_viewModel == null)
            {
                _viewModel = new TodoItemsPageViewModel();
            }

            BindingContext = _viewModel;
            MessageCenterSubscribe();

            TodoItemListView.ItemTapped += TodoItemListView_ItemTapped;

            await _viewModel.OnRefreshItemsCommand();
        }
示例#3
0
        public async Task MutableOperationsTest()
        {
            try
            {
                var authViewModel = new MainPageViewModel();
                await authViewModel.ConnectToNetworkAsync();

                Assert.True(authViewModel.AppService.IsSessionAvailable);
                await authViewModel.AppService.GetMdInfoAsync();

                var todoItemsViewModel = new TodoItemsPageViewModel();

                // Test get mdata entries
                await todoItemsViewModel.OnRefreshItemsCommand();

                Assert.Zero(todoItemsViewModel.ToDoItems.Count);

                var addItemViewModel = new AddItemViewModel();

                // Test add todo item
                addItemViewModel.Title   = Misc.GetRandomString(10);
                addItemViewModel.Details = Misc.GetRandomString(10);

                // Test fetch todo items
                await addItemViewModel.OnSaveItemCommand();

                await todoItemsViewModel.OnRefreshItemsCommand();

                Assert.NotZero(todoItemsViewModel.ToDoItems.Count);

                // Test add second todo item
                addItemViewModel.Title   = Misc.GetRandomString(10);
                addItemViewModel.Details = Misc.GetRandomString(10);

                // Test fetch todo items
                await addItemViewModel.OnSaveItemCommand();

                await todoItemsViewModel.OnRefreshItemsCommand();

                Assert.NotZero(todoItemsViewModel.ToDoItems.Count);
                Assert.AreEqual(2, todoItemsViewModel.ToDoItems.Count);

                // Test delete todo item
                await addItemViewModel.DeleteItemAsync(todoItemsViewModel.ToDoItems[0]);

                await todoItemsViewModel.OnRefreshItemsCommand();

                Assert.AreEqual(1, todoItemsViewModel.ToDoItems.Count);

                // Test update todo item
                var updateViewModel = new AddItemViewModel(todoItemsViewModel.ToDoItems[0], true);
                var newDetails      = "UpdatedDetails";
                updateViewModel.Details = newDetails;

                await updateViewModel.OnSaveItemCommand();

                await todoItemsViewModel.OnRefreshItemsCommand();

                Assert.AreEqual(1, todoItemsViewModel.ToDoItems.Count);
                Assert.AreEqual(newDetails, todoItemsViewModel.ToDoItems[0].Detail);

                authViewModel.AppService.Dispose();
            }
            catch (Exception ex)
            {
                Assert.True(false, ex.Message);
            }
        }