Lidarr/src/NzbDrone.Core.Test/MediaFiles/MediaFileServiceTests/MediaFileServiceFixture.cs

67 lines
2.0 KiB
C#

using System.Collections.Generic;
using System.Linq;
using FizzWare.NBuilder;
using Moq;
using NUnit.Framework;
using NzbDrone.Core.MediaFiles;
using NzbDrone.Core.MediaFiles.Events;
using NzbDrone.Core.Test.Framework;
using NzbDrone.Core.Music;
namespace NzbDrone.Core.Test.MediaFiles.TrackFileMovingServiceTests
{
[TestFixture]
public class MediaFileServiceFixture : CoreTest<MediaFileService>
{
private Album _album;
private List<TrackFile> _trackFiles;
[SetUp]
public void Setup()
{
_album = Builder<Album>.CreateNew()
.Build();
_trackFiles = Builder<TrackFile>.CreateListOfSize(3)
.TheFirst(2)
.With(f => f.AlbumId = _album.Id)
.TheNext(1)
.With(f => f.AlbumId = 0)
.Build().ToList();
}
[Test]
public void should_throw_trackFileDeletedEvent_for_each_mapped_track_on_deletemany()
{
Subject.DeleteMany(_trackFiles, DeleteMediaFileReason.Manual);
VerifyEventPublished<TrackFileDeletedEvent>(Times.Exactly(2));
}
[Test]
public void should_throw_trackFileDeletedEvent_for_mapped_track_on_delete()
{
Subject.Delete(_trackFiles[0], DeleteMediaFileReason.Manual);
VerifyEventPublished<TrackFileDeletedEvent>(Times.Once());
}
[Test]
public void should_throw_trackFileAddedEvent_for_each_track_added_on_addmany()
{
Subject.AddMany(_trackFiles);
VerifyEventPublished<TrackFileAddedEvent>(Times.Exactly(3));
}
[Test]
public void should_throw_trackFileAddedEvent_for_track_added()
{
Subject.Add(_trackFiles[0]);
VerifyEventPublished<TrackFileAddedEvent>(Times.Once());
}
}
}