using System.Collections.Generic; using System.Linq; using FizzWare.NBuilder; using Moq; using NUnit.Framework; using NzbDrone.Common.Disk; using NzbDrone.Core.Books; using NzbDrone.Core.HealthCheck.Checks; using NzbDrone.Core.ImportLists; using NzbDrone.Core.Test.Framework; namespace NzbDrone.Core.Test.HealthCheck.Checks { [TestFixture] public class RootFolderCheckFixture : CoreTest { private void GivenMissingRootFolder() { var author = Builder.CreateListOfSize(1) .Build() .ToList(); var importList = Builder.CreateListOfSize(1) .Build() .ToList(); Mocker.GetMock() .Setup(s => s.AllAuthorPaths()) .Returns(author.ToDictionary(x => x.Id, x => x.Path)); Mocker.GetMock() .Setup(s => s.All()) .Returns(importList); Mocker.GetMock() .Setup(s => s.GetParentFolder(author.First().Path)) .Returns(@"C:\Music"); Mocker.GetMock() .Setup(s => s.FolderExists(It.IsAny())) .Returns(false); } [Test] public void should_not_return_error_when_no_author() { Mocker.GetMock() .Setup(s => s.AllAuthorPaths()) .Returns(new Dictionary()); Mocker.GetMock() .Setup(s => s.All()) .Returns(new List()); Subject.Check().ShouldBeOk(); } [Test] public void should_return_error_if_author_parent_is_missing() { GivenMissingRootFolder(); Subject.Check().ShouldBeError(); } } }