Fixed adding of Newznab provider.

This commit is contained in:
Mark McDowall 2011-11-15 15:11:17 -08:00
parent e35a4bf8ac
commit 5ad11ba728
4 changed files with 46 additions and 5 deletions

View File

@ -56,6 +56,46 @@ namespace NzbDrone.Core.Test.ProviderTests
db.Single<NewznabDefinition>(result).Url.Should().Be(expectedUrl);
}
[Test]
public void Save_should_clean_url_before_inserting_when_url_is_not_empty()
{
//Setup
var newznab = new NewznabDefinition { Name = "Newznab Provider", Enable = true, Url = "" };
var expectedUrl = "";
var mocker = new AutoMoqer();
var db = MockLib.GetEmptyDatabase();
mocker.SetConstant(db);
//Act
var result = mocker.Resolve<NewznabProvider>().Save(newznab);
//Assert
db.Single<NewznabDefinition>(result).Url.Should().Be(expectedUrl);
}
[Test]
public void Save_should_clean_url_before_updating_when_url_is_not_empty()
{
//Setup
var newznab = new NewznabDefinition { Name = "Newznab Provider", Enable = true, Url = "http://www.nzbdrone.com" };
var expectedUrl = "";
var newUrl = "";
var mocker = new AutoMoqer();
var db = MockLib.GetEmptyDatabase();
mocker.SetConstant(db);
newznab.Id = Convert.ToInt32(db.Insert(newznab));
newznab.Url = newUrl;
//Act
var result = mocker.Resolve<NewznabProvider>().Save(newznab);
//Assert
db.Single<NewznabDefinition>(result).Url.Should().Be(expectedUrl);
}
[Test]
public void SaveAll_should_clean_urls_before_updating()
{

View File

@ -37,8 +37,9 @@ namespace NzbDrone.Core.Providers
public virtual int Save(NewznabDefinition definition)
{
//Cleanup the URL
definition.Url = (new Uri(definition.Url).ParentUriString());
//Cleanup the URL if it is not null or whitespace
if (!String.IsNullOrWhiteSpace(definition.Url))
definition.Url = (new Uri(definition.Url).ParentUriString());
if (definition.Id == 0)
{

View File

@ -299,7 +299,7 @@ namespace NzbDrone.Web.Controllers
return new JsonResult { Data = "ok" };
}
public ViewResult AddNewznabProvider()
public PartialViewResult AddNewznabProvider()
{
var newznab = new NewznabDefinition
{
@ -312,7 +312,7 @@ namespace NzbDrone.Web.Controllers
ViewData["ProviderId"] = id;
return View("NewznabProvider", newznab);
return PartialView("NewznabProvider", newznab);
}
public ActionResult GetNewznabProviderView(NewznabDefinition provider)

View File

@ -974,4 +974,4 @@ xcopy /s /y "$(SolutionDir)packages\SqlServerCompact.4.0.8482.1\NativeBinaries\x
if not exist "$(TargetDir)amd64" md "$(TargetDir)amd64"
xcopy /s /y "$(SolutionDir)packages\SqlServerCompact.4.0.8482.1\NativeBinaries\amd64\*.*" "$(TargetDir)amd64"</PostBuildEvent>
</PropertyGroup>
</Project>
</Project>