added open generic registration for simple repository, services can now use simple repository independently.

This commit is contained in:
kay.one 2013-02-16 21:09:35 -08:00
commit e7deda4d5d
9 changed files with 28 additions and 45 deletions

View file

@ -8,6 +8,7 @@ using FluentAssertions;
using Moq;
using NUnit.Framework;
using NzbDrone.Common;
using NzbDrone.Core.Datastore;
using NzbDrone.Core.RootFolders;
using NzbDrone.Core.Test.Framework;
@ -24,7 +25,7 @@ namespace NzbDrone.Core.Test.RootFolderTests
.Setup(m => m.FolderExists(It.IsAny<string>()))
.Returns(true);
Mocker.GetMock<IRootFolderRepository>()
Mocker.GetMock<IBasicRepository<RootFolder>>()
.Setup(s => s.All())
.Returns(new List<RootFolder>());
}
@ -44,7 +45,7 @@ namespace NzbDrone.Core.Test.RootFolderTests
Subject.Add(root);
Mocker.GetMock<IRootFolderRepository>().Verify(c => c.Add(root), Times.Once());
Mocker.GetMock<IBasicRepository<RootFolder>>().Verify(c => c.Add(root), Times.Once());
}
[Test]
@ -59,14 +60,14 @@ namespace NzbDrone.Core.Test.RootFolderTests
public void should_be_able_to_remove_root_dir()
{
Subject.Remove(1);
Mocker.GetMock<IRootFolderRepository>().Verify(c => c.Delete(1), Times.Once());
Mocker.GetMock<IBasicRepository<RootFolder>>().Verify(c => c.Delete(1), Times.Once());
}
public void None_existing_folder_returns_empty_list()
{
WithNoneExistingFolder();
Mocker.GetMock<IRootFolderRepository>().Setup(c => c.All()).Returns(new List<RootFolder>());
Mocker.GetMock<IBasicRepository<RootFolder>>().Setup(c => c.All()).Returns(new List<RootFolder>());
const string path = "d:\\bad folder";
@ -96,7 +97,7 @@ namespace NzbDrone.Core.Test.RootFolderTests
[Test]
public void adding_duplicated_root_folder_should_throw()
{
Mocker.GetMock<IRootFolderRepository>().Setup(c => c.All()).Returns(new List<RootFolder> { new RootFolder { Path = "C:\\TV" } });
Mocker.GetMock<IBasicRepository<RootFolder>>().Setup(c => c.All()).Returns(new List<RootFolder> { new RootFolder { Path = "C:\\TV" } });
Assert.Throws<InvalidOperationException>(() => Subject.Add(new RootFolder { Path = @"C:\TV" }));
}