using System.Collections.Generic; using System.Linq; using FizzWare.NBuilder; using Moq; using NUnit.Framework; using NzbDrone.Common.Disk; using NzbDrone.Core.HealthCheck.Checks; using NzbDrone.Core.Localization; using NzbDrone.Core.Movies; using NzbDrone.Core.Test.Framework; namespace NzbDrone.Core.Test.HealthCheck.Checks { [TestFixture] public class RootFolderCheckFixture : CoreTest { [SetUp] public void Setup() { Mocker.GetMock() .Setup(s => s.GetLocalizedString(It.IsAny())) .Returns("Some Warning Message"); } private void GivenMissingRootFolder() { var movies = Builder.CreateListOfSize(1) .Build() .ToList(); Mocker.GetMock() .Setup(s => s.AllMoviePaths()) .Returns(movies.Select(x => x.Path).ToList()); Mocker.GetMock() .Setup(s => s.GetParentFolder(movies.First().Path)) .Returns(@"C:\Movies"); Mocker.GetMock() .Setup(s => s.FolderExists(It.IsAny())) .Returns(false); } [Test] public void should_not_return_error_when_no_movie() { Mocker.GetMock() .Setup(s => s.AllMoviePaths()) .Returns(new List()); Subject.Check().ShouldBeOk(); } [Test] public void should_return_error_if_movie_parent_is_missing() { GivenMissingRootFolder(); Subject.Check().ShouldBeError(); } } }