Example #1
0
        public async void ItemClick()
        {
            // Arrange
            CategorySelectedMessage passedMessage = null;
            bool closeWasCalled = false;

            var messengerMock = new Mock <IMvxMessenger>();

            messengerMock.Setup(x => x.Publish(It.IsAny <CategorySelectedMessage>()))
            .Callback((CategorySelectedMessage message) => passedMessage = message);

            var navigationMock = new Mock <IMvxNavigationService>();

            navigationMock
            .Setup(x => x.Close(It.IsAny <IMvxViewModel>()))
            .Callback((IMvxViewModel vm) => closeWasCalled = true)
            .Returns(Task.FromResult(true));

            var viewModel = new SelectCategoryListViewModel(new Mock <ICategoryService>().Object,
                                                            new Mock <IDialogService>().Object,
                                                            messengerMock.Object,
                                                            navigationMock.Object);

            var testCategory = new CategoryViewModel(new Category());

            // Act
            await viewModel.ItemClickCommand.ExecuteAsync(testCategory);

            // Assert
            Assert.NotNull(passedMessage);
            Assert.Equal(testCategory, passedMessage.SelectedCategory);
            Assert.True(closeWasCalled);
        }
Example #2
0
        protected override void OnKeyDown(KeyRoutedEventArgs e)
        {
            if (e.Key == VirtualKey.Enter)
            {
                SelectCategoryListViewModel viewModel = ViewModel;
                viewModel.ItemClickCommand.Execute(viewModel.SelectedCategory);
            }

            base.OnKeyDown(e);
        }
Example #3
0
        public void Close()
        {
            // Arrange
            var navigationMock = new Mock <INavigationService>();

            navigationMock.Setup(x => x.GoBack());

            var viewModel = new SelectCategoryListViewModel(new Mock <ICrudServicesAsync>().Object,
                                                            new Mock <IDialogService>().Object,
                                                            navigationMock.Object);

            // Act
            viewModel.ItemClickCommand.Execute(new CategoryViewModel());

            // Assert
            navigationMock.Verify(x => x.GoBack(), Times.Once);
        }
Example #4
0
        public void Close()
        {
            // Arrange
            bool closeWasCalled = false;
            var  navigationMock = new Mock <INavigationService>();

            navigationMock
            .Setup(x => x.GoBack())
            .Callback(() => closeWasCalled = true);

            var viewModel = new SelectCategoryListViewModel(new Mock <ICrudServicesAsync>().Object,
                                                            new Mock <IDialogService>().Object,
                                                            navigationMock.Object);

            // Act
            viewModel.ItemClickCommand.Execute(new CategoryViewModel());

            // Assert
            Assert.True(closeWasCalled);
        }
Example #5
0
        public async void Close()
        {
            // Arrange
            bool closeWasCalled = false;
            var  navigationMock = new Mock <IMvxNavigationService>();

            navigationMock
            .Setup(x => x.Close(It.IsAny <IMvxViewModel>()))
            .Callback((IMvxViewModel vm) => closeWasCalled = true)
            .Returns(Task.FromResult(true));

            var viewModel = new SelectCategoryListViewModel(new Mock <ICategoryService>().Object,
                                                            new Mock <IDialogService>().Object,
                                                            new Mock <IMvxMessenger>().Object,
                                                            navigationMock.Object);

            // Act
            await viewModel.ItemClickCommand.ExecuteAsync(new CategoryViewModel(new Category()));

            // Assert
            Assert.True(closeWasCalled);
        }