From 72c555f250aeb7803ac2e7c1377ce7adb62f3519 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Thu, 20 Oct 2011 23:06:36 -0700 Subject: [PATCH] Local series search will now search anywhere in the title, not just the beginning. --- .../ProviderTests/SeriesProviderTest.cs | 48 ++++++++++++++++++- NzbDrone.Core/Providers/SeriesProvider.cs | 6 +-- 2 files changed, 48 insertions(+), 6 deletions(-) diff --git a/NzbDrone.Core.Test/ProviderTests/SeriesProviderTest.cs b/NzbDrone.Core.Test/ProviderTests/SeriesProviderTest.cs index 517e56ab2..e8c715a4f 100644 --- a/NzbDrone.Core.Test/ProviderTests/SeriesProviderTest.cs +++ b/NzbDrone.Core.Test/ProviderTests/SeriesProviderTest.cs @@ -653,7 +653,53 @@ namespace NzbDrone.Core.Test.ProviderTests } [Test] - public void SearchForSeries_should_not_return_results_that_do_not_start_with_query() + public void SearchForSeries_should_return_results_that_contain_the_query() + { + var mocker = new AutoMoqer(MockBehavior.Strict); + var db = MockLib.GetEmptyDatabase(); + mocker.SetConstant(db); + + var fakeQuality = Builder.CreateNew().Build(); + var fakeSeries = Builder.CreateListOfSize(10) + .WhereAll() + .Have(e => e.QualityProfileId = fakeQuality.QualityProfileId) + .Build(); + + db.InsertMany(fakeSeries); + db.Insert(fakeQuality); + + //Act + var series = mocker.Resolve().SearchForSeries("itl"); + + //Assert + series.Should().HaveCount(10); + } + + [Test] + public void SearchForSeries_should_return_results_that_end_with_the_query() + { + var mocker = new AutoMoqer(MockBehavior.Strict); + var db = MockLib.GetEmptyDatabase(); + mocker.SetConstant(db); + + var fakeQuality = Builder.CreateNew().Build(); + var fakeSeries = Builder.CreateListOfSize(10) + .WhereAll() + .Have(e => e.QualityProfileId = fakeQuality.QualityProfileId) + .Build(); + + db.InsertMany(fakeSeries); + db.Insert(fakeQuality); + + //Act + var series = mocker.Resolve().SearchForSeries("2"); + + //Assert + series.Should().HaveCount(1); + } + + [Test] + public void SearchForSeries_should_not_return_results_that_do_not_contain_the_query() { var mocker = new AutoMoqer(MockBehavior.Strict); var db = MockLib.GetEmptyDatabase(); diff --git a/NzbDrone.Core/Providers/SeriesProvider.cs b/NzbDrone.Core/Providers/SeriesProvider.cs index 56aa435fa..c7c8af463 100644 --- a/NzbDrone.Core/Providers/SeriesProvider.cs +++ b/NzbDrone.Core/Providers/SeriesProvider.cs @@ -190,11 +190,7 @@ namespace NzbDrone.Core.Providers { var query = String.Format(@"SELECT * FROM Series INNER JOIN QualityProfiles ON Series.QualityProfileId = QualityProfiles.QualityProfileId - WHERE Title LIKE '{0}%'", title); - -// var series = _database.Fetch(@"SELECT * FROM Series -// INNER JOIN QualityProfiles ON Series.QualityProfileId = QualityProfiles.QualityProfileId -// WHERE Title LIKE '@0%'", title); + WHERE Title LIKE '%{0}%'", title); var series = _database.Fetch(query);