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); }
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); }
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); }