Fixed an issue with parsing full path instead of filename on import

This should fix Card #61
This commit is contained in:
Mark McDowall 2013-07-12 01:15:23 -07:00
parent bb42bb30aa
commit 87731d56bf
2 changed files with 17 additions and 3 deletions

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO;
using System.Linq; using System.Linq;
using FluentAssertions; using FluentAssertions;
using Moq; using Moq;
@ -59,7 +60,7 @@ namespace NzbDrone.Core.Test.MediaFileTests.EpisodeImportTests
_fail3.Setup(c => c.IsSatisfiedBy(It.IsAny<LocalEpisode>())).Returns(false); _fail3.Setup(c => c.IsSatisfiedBy(It.IsAny<LocalEpisode>())).Returns(false);
_fail3.Setup(c => c.RejectionReason).Returns("_fail3"); _fail3.Setup(c => c.RejectionReason).Returns("_fail3");
_videoFiles = new List<String> { "The.Office.S03E115.DVDRip.XviD-OSiTV" }; _videoFiles = new List<String> { @"C:\Test\Unsorted\The.Office.S03E115.DVDRip.XviD-OSiTV.avi" };
_series = new Series(); _series = new Series();
_localEpisode = new LocalEpisode { Series = _series, Path = @"C:\Test\Unsorted\The.Office.S03E115.DVDRip.XviD-OSiTV.avi" }; _localEpisode = new LocalEpisode { Series = _series, Path = @"C:\Test\Unsorted\The.Office.S03E115.DVDRip.XviD-OSiTV.avi" };
@ -88,7 +89,6 @@ namespace NzbDrone.Core.Test.MediaFileTests.EpisodeImportTests
_pass3.Verify(c => c.IsSatisfiedBy(_localEpisode), Times.Once()); _pass3.Verify(c => c.IsSatisfiedBy(_localEpisode), Times.Once());
} }
[Test] [Test]
public void should_return_rejected_if_single_specs_fail() public void should_return_rejected_if_single_specs_fail()
{ {
@ -150,6 +150,18 @@ namespace NzbDrone.Core.Test.MediaFileTests.EpisodeImportTests
ExceptionVerification.ExpectedErrors(3); ExceptionVerification.ExpectedErrors(3);
} }
[Test]
public void should_use_filename_without_extension_when_getting_episodes_from_ParsingService()
{
var expectedFilename = Path.GetFileNameWithoutExtension(_videoFiles.First());
GivenSpecifications(_pass1, _pass2, _pass3);
Subject.GetImportDecisions(_videoFiles, _series);
Mocker.GetMock<IParsingService>().Verify(v => v.GetEpisodes(expectedFilename, _series), Times.Once());
}
} }
} }

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using NLog; using NLog;
@ -42,7 +43,8 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport
try try
{ {
var parsedEpisode = _parsingService.GetEpisodes(file, series); var fileWithoutExtension = Path.GetFileNameWithoutExtension(file);
var parsedEpisode = _parsingService.GetEpisodes(Path.GetFileNameWithoutExtension(file), series);
if (parsedEpisode != null) if (parsedEpisode != null)
{ {