diff --git a/ProjectLighthouse.Tests/Unit/FilterTests.cs b/ProjectLighthouse.Tests/Unit/FilterTests.cs index a3eae2e90..02b1f1ef3 100644 --- a/ProjectLighthouse.Tests/Unit/FilterTests.cs +++ b/ProjectLighthouse.Tests/Unit/FilterTests.cs @@ -749,34 +749,6 @@ public void TeamPickFilter_ShouldReject_WhenNotTeamPick() Assert.False(teamPickFunc(slot)); } - [Fact] - public void TextFilter_ShouldAccept_WhenDescriptionContainsText() - { - TextFilter textFilter = new("test"); - Func textFunc = textFilter.GetPredicate().Compile(); - - SlotEntity slot = new() - { - Description = "unit test", - }; - - Assert.True(textFunc(slot)); - } - - [Fact] - public void TextFilter_ShouldReject_WhenDescriptionDoesNotContainText() - { - TextFilter textFilter = new("test"); - Func textFunc = textFilter.GetPredicate().Compile(); - - SlotEntity slot = new() - { - Description = "fraction exam", - }; - - Assert.False(textFunc(slot)); - } - [Fact] public void TextFilter_ShouldAccept_WhenNameContainsText() { diff --git a/ProjectLighthouse/Filter/Filters/TextFilter.cs b/ProjectLighthouse/Filter/Filters/TextFilter.cs index 7566ca444..d0a8aeac2 100644 --- a/ProjectLighthouse/Filter/Filters/TextFilter.cs +++ b/ProjectLighthouse/Filter/Filters/TextFilter.cs @@ -18,15 +18,11 @@ public TextFilter(string filter) public Expression> GetPredicate() { Expression> predicate = PredicateExtensions.False(); - string[] keywords = this.filter.Split(" ", StringSplitOptions.RemoveEmptyEntries); - foreach (string keyword in keywords) - { - predicate = predicate.Or(s => - s.Name.Contains(keyword) || - s.Description.ToLower().Contains(keyword) || - s.SlotId.ToString().Equals(keyword)); - predicate = predicate.Or(s => s.Creator != null && s.Creator.Username.Contains(keyword)); - } + string trimmed = this.filter.Trim(); + predicate = predicate.Or(s => + s.Name.Contains(trimmed) || + s.SlotId.ToString().Equals(trimmed)); + predicate = predicate.Or(s => s.Creator != null && s.Creator.Username.Contains(trimmed)); return predicate; } } \ No newline at end of file