diff --git a/src/NzbDrone.Core.Test/MediaFiles/MediaInfo/UpdateMediaInfoServiceFixture.cs b/src/NzbDrone.Core.Test/MediaFiles/MediaInfo/UpdateMediaInfoServiceFixture.cs index a60de754e..f5b5c4afb 100644 --- a/src/NzbDrone.Core.Test/MediaFiles/MediaInfo/UpdateMediaInfoServiceFixture.cs +++ b/src/NzbDrone.Core.Test/MediaFiles/MediaInfo/UpdateMediaInfoServiceFixture.cs @@ -55,13 +55,13 @@ namespace NzbDrone.Core.Test.MediaFiles.MediaInfo } [Test] - public void should_get_for_existing_episodefile_on_after_series_scan() + public void should_skip_up_to_date_media_info() { var episodeFiles = Builder.CreateListOfSize(3) .All() .With(v => v.RelativePath = "media.mkv") .TheFirst(1) - .With(v => v.MediaInfo = new MediaInfoModel()) + .With(v => v.MediaInfo = new MediaInfoModel { SchemaRevision = 2 }) .BuildList(); Mocker.GetMock() @@ -80,6 +80,32 @@ namespace NzbDrone.Core.Test.MediaFiles.MediaInfo .Verify(v => v.Update(It.IsAny()), Times.Exactly(2)); } + [Test] + public void should_update_outdated_media_info() + { + var episodeFiles = Builder.CreateListOfSize(3) + .All() + .With(v => v.RelativePath = "media.mkv") + .TheFirst(1) + .With(v => v.MediaInfo = new MediaInfoModel()) + .BuildList(); + + Mocker.GetMock() + .Setup(v => v.GetFilesBySeries(1)) + .Returns(episodeFiles); + + GivenFileExists(); + GivenSuccessfulScan(); + + Subject.Handle(new SeriesScannedEvent(_series)); + + Mocker.GetMock() + .Verify(v => v.GetMediaInfo(Path.Combine(_series.Path, "media.mkv")), Times.Exactly(3)); + + Mocker.GetMock() + .Verify(v => v.Update(It.IsAny()), Times.Exactly(3)); + } + [Test] public void should_ignore_missing_files() {