mirror of
https://github.com/Readarr/Readarr.git
synced 2026-04-20 21:54:25 -04:00
New: Readarr 0.1
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using FizzWare.NBuilder;
|
||||
using FluentAssertions;
|
||||
using Moq;
|
||||
@@ -15,26 +16,26 @@ using NzbDrone.Core.Test.Framework;
|
||||
namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
{
|
||||
[TestFixture]
|
||||
|
||||
[Ignore("Pending Readarr fixes")]
|
||||
public class UpgradeDiskSpecificationFixture : CoreTest<UpgradeDiskSpecification>
|
||||
{
|
||||
private RemoteAlbum _parseResultMulti;
|
||||
private RemoteAlbum _parseResultSingle;
|
||||
private TrackFile _firstFile;
|
||||
private TrackFile _secondFile;
|
||||
private BookFile _firstFile;
|
||||
private BookFile _secondFile;
|
||||
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
Mocker.Resolve<UpgradableSpecification>();
|
||||
|
||||
_firstFile = new TrackFile { Quality = new QualityModel(Quality.FLAC, new Revision(version: 2)), DateAdded = DateTime.Now };
|
||||
_secondFile = new TrackFile { Quality = new QualityModel(Quality.FLAC, new Revision(version: 2)), DateAdded = DateTime.Now };
|
||||
_firstFile = new BookFile { Quality = new QualityModel(Quality.FLAC, new Revision(version: 2)), DateAdded = DateTime.Now };
|
||||
_secondFile = new BookFile { Quality = new QualityModel(Quality.FLAC, new Revision(version: 2)), DateAdded = DateTime.Now };
|
||||
|
||||
var singleAlbumList = new List<Album> { new Album { } };
|
||||
var doubleAlbumList = new List<Album> { new Album { }, new Album { }, new Album { } };
|
||||
var singleAlbumList = new List<Book> { new Book { BookFiles = new List<BookFile>() } };
|
||||
var doubleAlbumList = new List<Book> { new Book { BookFiles = new List<BookFile>() }, new Book { BookFiles = new List<BookFile>() }, new Book { BookFiles = new List<BookFile>() } };
|
||||
|
||||
var fakeArtist = Builder<Artist>.CreateNew()
|
||||
var fakeArtist = Builder<Author>.CreateNew()
|
||||
.With(c => c.QualityProfile = new QualityProfile
|
||||
{
|
||||
UpgradeAllowed = true,
|
||||
@@ -43,45 +44,39 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
})
|
||||
.Build();
|
||||
|
||||
Mocker.GetMock<ITrackService>()
|
||||
.Setup(c => c.TracksWithoutFiles(It.IsAny<int>()))
|
||||
.Returns(new List<Track>());
|
||||
|
||||
Mocker.GetMock<IMediaFileService>()
|
||||
.Setup(c => c.GetFilesByAlbum(It.IsAny<int>()))
|
||||
.Returns(new List<TrackFile> { _firstFile, _secondFile });
|
||||
.Returns(new List<BookFile> { _firstFile, _secondFile });
|
||||
|
||||
_parseResultMulti = new RemoteAlbum
|
||||
{
|
||||
Artist = fakeArtist,
|
||||
ParsedAlbumInfo = new ParsedAlbumInfo { Quality = new QualityModel(Quality.MP3_256, new Revision(version: 2)) },
|
||||
ParsedAlbumInfo = new ParsedAlbumInfo { Quality = new QualityModel(Quality.MP3_320, new Revision(version: 2)) },
|
||||
Albums = doubleAlbumList
|
||||
};
|
||||
|
||||
_parseResultSingle = new RemoteAlbum
|
||||
{
|
||||
Artist = fakeArtist,
|
||||
ParsedAlbumInfo = new ParsedAlbumInfo { Quality = new QualityModel(Quality.MP3_256, new Revision(version: 2)) },
|
||||
ParsedAlbumInfo = new ParsedAlbumInfo { Quality = new QualityModel(Quality.MP3_320, new Revision(version: 2)) },
|
||||
Albums = singleAlbumList
|
||||
};
|
||||
}
|
||||
|
||||
private void WithFirstFileUpgradable()
|
||||
{
|
||||
_firstFile.Quality = new QualityModel(Quality.MP3_192);
|
||||
_firstFile.Quality = new QualityModel(Quality.MP3_320);
|
||||
}
|
||||
|
||||
private void WithSecondFileUpgradable()
|
||||
{
|
||||
_secondFile.Quality = new QualityModel(Quality.MP3_192);
|
||||
_secondFile.Quality = new QualityModel(Quality.MP3_320);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_return_true_if_album_has_no_existing_file()
|
||||
{
|
||||
Mocker.GetMock<IMediaFileService>()
|
||||
.Setup(c => c.GetFilesByAlbum(It.IsAny<int>()))
|
||||
.Returns(new List<TrackFile> { });
|
||||
_parseResultSingle.Albums.First().BookFiles = new List<BookFile>();
|
||||
|
||||
Subject.IsSatisfiedBy(_parseResultSingle, null).Accepted.Should().BeTrue();
|
||||
}
|
||||
@@ -89,10 +84,6 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
[Test]
|
||||
public void should_return_true_if_track_is_missing()
|
||||
{
|
||||
Mocker.GetMock<ITrackService>()
|
||||
.Setup(c => c.TracksWithoutFiles(It.IsAny<int>()))
|
||||
.Returns(new List<Track> { new Track() });
|
||||
|
||||
Subject.IsSatisfiedBy(_parseResultSingle, null).Accepted.Should().BeTrue();
|
||||
}
|
||||
|
||||
@@ -101,15 +92,12 @@ namespace NzbDrone.Core.Test.DecisionEngineTests
|
||||
{
|
||||
Subject.IsSatisfiedBy(_parseResultSingle, null).Accepted.Should().BeFalse();
|
||||
Subject.IsSatisfiedBy(_parseResultSingle, null).Accepted.Should().BeFalse();
|
||||
|
||||
Mocker.GetMock<ITrackService>()
|
||||
.Verify(c => c.TracksWithoutFiles(It.IsAny<int>()), Times.Once());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_return_true_if_single_album_doesnt_exist_on_disk()
|
||||
{
|
||||
_parseResultSingle.Albums = new List<Album>();
|
||||
_parseResultSingle.Albums = new List<Book>();
|
||||
|
||||
Subject.IsSatisfiedBy(_parseResultSingle, null).Accepted.Should().BeTrue();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user