You've already forked Sonarr
							
							
				mirror of
				https://github.com/Sonarr/Sonarr.git
				synced 2025-10-31 00:07:55 +02:00 
			
		
		
		
	Free space check should use series' parent directory
This commit is contained in:
		| @@ -1,4 +1,5 @@ | ||||
| using System; | ||||
| using System.IO; | ||||
| using System.Linq; | ||||
| using FizzWare.NBuilder; | ||||
| using FluentAssertions; | ||||
| @@ -19,12 +20,14 @@ namespace NzbDrone.Core.Test.MediaFileTests.EpisodeImportTests | ||||
|     { | ||||
|         private Series _series; | ||||
|         private LocalEpisode _localEpisode; | ||||
|         private const String ROOT_FOLDER = @"C:\Test\TV"; | ||||
|  | ||||
|         [SetUp] | ||||
|         public void Setup() | ||||
|         { | ||||
|             _series = Builder<Series>.CreateNew() | ||||
|                                      .With(s => s.SeriesType = SeriesTypes.Standard) | ||||
|                                      .With(s => s.Path = Path.Combine(ROOT_FOLDER, "30 Rock")) | ||||
|                                      .Build(); | ||||
|  | ||||
|             var episodes = Builder<Episode>.CreateListOfSize(1) | ||||
| @@ -81,5 +84,17 @@ namespace NzbDrone.Core.Test.MediaFileTests.EpisodeImportTests | ||||
|  | ||||
|             Subject.IsSatisfiedBy(_localEpisode).Should().BeTrue(); | ||||
|         } | ||||
|  | ||||
|         [Test] | ||||
|         public void should_use_series_paths_parent_for_free_space_check() | ||||
|         { | ||||
|             GivenFileSize(100.Megabytes()); | ||||
|             GivenFreeSpace(1.Gigabytes()); | ||||
|  | ||||
|             Subject.IsSatisfiedBy(_localEpisode).Should().BeTrue(); | ||||
|  | ||||
|             Mocker.GetMock<IDiskProvider>() | ||||
|                 .Verify(v => v.GetAvilableSpace(ROOT_FOLDER), Times.Once()); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -21,8 +21,9 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport.Specifications | ||||
|         public string RejectionReason { get { return "Not enough free space"; } } | ||||
|  | ||||
|         public bool IsSatisfiedBy(LocalEpisode localEpisode) | ||||
|         {            | ||||
|             var freeSpace = _diskProvider.GetAvilableSpace(localEpisode.Series.Path); | ||||
|         { | ||||
|             var path = Directory.GetParent(localEpisode.Series.Path); | ||||
|             var freeSpace = _diskProvider.GetAvilableSpace(path.FullName); | ||||
|  | ||||
|             if (freeSpace < localEpisode.Size + 100.Megabytes()) | ||||
|             { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user