public async Task WhenFilterTooBroad_ThenStatusTextIndicatedTruncation()
        {
            var resourceManagerMock = CreateResourceManagerAdapterMock();
            var viewModel           = new ProjectPickerViewModel(resourceManagerMock.Object);

            await viewModel.FilterAsync(null);

            Assert.IsTrue(viewModel.IsStatusTextVisible);
            StringAssert.Contains("Over 3", viewModel.StatusText);
        }
        public async Task WhenFilterSpecificEnough_ThenStatusTextIndicatsNumberOfResults()
        {
            var resourceManagerMock = CreateResourceManagerAdapterMock();
            var viewModel           = new ProjectPickerViewModel(resourceManagerMock.Object);

            await viewModel.FilterAsync("project-1");

            Assert.IsTrue(viewModel.IsStatusTextVisible);
            StringAssert.Contains("1 project", viewModel.StatusText);
        }
        public async Task WhenFilterSetToNull_ThenListIsPopulatedWithAllProjects()
        {
            var resourceManagerMock = CreateResourceManagerAdapterMock();
            var viewModel           = new ProjectPickerViewModel(resourceManagerMock.Object);

            CollectionAssert.IsEmpty(viewModel.FilteredProjects);

            await viewModel.FilterAsync(null);

            CollectionAssert.IsNotEmpty(viewModel.FilteredProjects);
            Assert.AreEqual(3, viewModel.FilteredProjects.Count);
        }
Esempio n. 4
0
        public async Task WhenFilteringFails_ThenLoadingErrorContainsException()
        {
            var resourceManagerMock = CreateResourceManagerAdapterMock();
            var viewModel           = new ProjectPickerViewModel(resourceManagerMock.Object);

            viewModel.SelectedProject = ProjectOne;

            Assert.IsTrue(viewModel.IsProjectSelected);
            Assert.IsNotNull(viewModel.SelectedProject);

            await viewModel.FilterAsync("fail");

            Assert.IsFalse(viewModel.IsLoading);
            Assert.IsNotNull(viewModel.LoadingError);
            Assert.AreEqual("mock", viewModel.LoadingError.Message);
        }
        public async Task WhenFilterUpdated_ThenSelectionIsCleared()
        {
            var resourceManagerMock = CreateResourceManagerAdapterMock();
            var viewModel           = new ProjectPickerViewModel(resourceManagerMock.Object);

            await viewModel.FilterAsync(null);

            viewModel.SelectedProject = ProjectOne;

            Assert.IsTrue(viewModel.IsProjectSelected);
            Assert.IsNotNull(viewModel.SelectedProject);

            await viewModel.FilterAsync("project-1");

            Assert.IsFalse(viewModel.IsProjectSelected);
            Assert.IsNull(viewModel.SelectedProject);
        }