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,7 +55,33 @@ private void GivenFailedScan(string path) } [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 { SchemaRevision = 2 }) + .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(2)); + + Mocker.GetMock() + .Verify(v => v.Update(It.IsAny()), Times.Exactly(2)); + } + + [Test] + public void should_update_outdated_media_info() { var episodeFiles = Builder.CreateListOfSize(3) .All() @@ -74,10 +100,10 @@ public void should_get_for_existing_episodefile_on_after_series_scan() Subject.Handle(new SeriesScannedEvent(_series)); Mocker.GetMock() - .Verify(v => v.GetMediaInfo(Path.Combine(_series.Path, "media.mkv")), Times.Exactly(2)); + .Verify(v => v.GetMediaInfo(Path.Combine(_series.Path, "media.mkv")), Times.Exactly(3)); Mocker.GetMock() - .Verify(v => v.Update(It.IsAny()), Times.Exactly(2)); + .Verify(v => v.Update(It.IsAny()), Times.Exactly(3)); } [Test]