diff --git a/NzbDrone.Core.Test/MediaFileTests/EpisodeImportTests/FreeSpaceSpecificationFixture.cs b/NzbDrone.Core.Test/MediaFileTests/EpisodeImportTests/FreeSpaceSpecificationFixture.cs index 559919214..bda744ca5 100644 --- a/NzbDrone.Core.Test/MediaFileTests/EpisodeImportTests/FreeSpaceSpecificationFixture.cs +++ b/NzbDrone.Core.Test/MediaFileTests/EpisodeImportTests/FreeSpaceSpecificationFixture.cs @@ -63,6 +63,16 @@ namespace NzbDrone.Core.Test.MediaFileTests.EpisodeImportTests ExceptionVerification.ExpectedWarns(1); } + [Test] + public void should_reject_when_there_isnt_enough_space_for_file_plus_100mb_padding() + { + GivenFileSize(100.Megabytes()); + GivenFreeSpace(150.Megabytes()); + + Subject.IsSatisfiedBy(_localEpisode).Should().BeFalse(); + ExceptionVerification.ExpectedWarns(1); + } + [Test] public void should_accept_when_there_is_enough_disk_space() { diff --git a/NzbDrone.Core/MediaFiles/EpisodeImport/Specifications/FreeSpaceSpecification.cs b/NzbDrone.Core/MediaFiles/EpisodeImport/Specifications/FreeSpaceSpecification.cs index 7fe9ded66..9a1a361a7 100644 --- a/NzbDrone.Core/MediaFiles/EpisodeImport/Specifications/FreeSpaceSpecification.cs +++ b/NzbDrone.Core/MediaFiles/EpisodeImport/Specifications/FreeSpaceSpecification.cs @@ -29,7 +29,7 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport.Specifications var freeSpace = _diskProvider.GetAvilableSpace(destinationFilename); - if (freeSpace < localEpisode.Size) + if (freeSpace < localEpisode.Size + 100.Megabytes()) { _logger.Warn("Not enough free space to import: {0}", localEpisode); return false;