public async Task OnlyDisplaysResultsTheHaveHasAtLeastOneMatchOnEveryWordTyped() { var interactor = new GetProjectsAutocompleteSuggestions(dataSource, new[] { "10", "3" }); var suggestions = await interactor.Execute(); suggestions.Should().HaveCount(1) .And.AllBeOfType <ProjectSuggestion>(); }
public async Task ReturnsAllProjectsWhenThereAreNoWordsToFilter() { var interactor = new GetProjectsAutocompleteSuggestions(dataSource, new string[0]); var suggestions = await interactor.Execute(); suggestions.Should().HaveCount(Projects.Count(p => p.Active)) .And.AllBeOfType <ProjectSuggestion>(); }
public async Task SearchesTheTaskName() { var interactor = new GetProjectsAutocompleteSuggestions(dataSource, new[] { "20" }); var suggestions = await interactor.Execute(); suggestions.Should().HaveCount(1) .And.AllBeOfType <ProjectSuggestion>(); }
public async Task ReturnsOnlyActiveProjects() { var interactor = new GetProjectsAutocompleteSuggestions(dataSource, new string[0]); var suggestions = await interactor.Execute().SelectMany(s => s).ToList(); suggestions .Select(s => ((ProjectSuggestion)s).ProjectId) .SelectMany(id => Projects.Where(t => t.Id == id)) .ForEach(project => project.Active.Should().BeTrue()); }