12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- using System;
- using System.Linq;
- using System.Threading;
- using MediaBrowser.Common.Configuration;
- using MediaBrowser.Controller.Entities;
- using MediaBrowser.Controller.Library;
- using MediaBrowser.Controller.Providers;
- using MediaBrowser.Model.Configuration;
- using MediaBrowser.Model.Entities;
- using MediaBrowser.Model.Providers;
- using MediaBrowser.XbmcMetadata.Parsers;
- using Microsoft.Extensions.Logging.Abstractions;
- using Moq;
- using Xunit;
- namespace Jellyfin.XbmcMetadata.Tests.Parsers
- {
- public class MusicVideoNfoParserTests
- {
- private readonly MovieNfoParser _parser;
- public MusicVideoNfoParserTests()
- {
- var providerManager = new Mock<IProviderManager>();
- providerManager.Setup(x => x.GetExternalIdInfos(It.IsAny<IHasProviderIds>()))
- .Returns(Enumerable.Empty<ExternalIdInfo>());
- var config = new Mock<IConfigurationManager>();
- config.Setup(x => x.GetConfiguration(It.IsAny<string>()))
- .Returns(new XbmcMetadataOptions());
- var user = new Mock<IUserManager>();
- var userData = new Mock<IUserDataManager>();
- _parser = new MovieNfoParser(new NullLogger<BaseNfoParser<MusicVideo>>(), config.Object, providerManager.Object, user.Object, userData.Object);
- }
- [Fact]
- public void Fetch_Valid_Succes()
- {
- var result = new MetadataResult<Video>()
- {
- Item = new MusicVideo()
- };
- _parser.Fetch(result, "Test Data/Dancing Queen.nfo", CancellationToken.None);
- var item = (MusicVideo)result.Item;
- Assert.Equal("Dancing Queen", item.Name);
- Assert.Single(item.Artists);
- Assert.Contains("ABBA", item.Artists);
- Assert.Equal("Arrival", item.Album);
- }
- [Fact]
- public void Fetch_WithNullItem_ThrowsArgumentException()
- {
- var result = new MetadataResult<Video>();
- Assert.Throws<ArgumentException>(() => _parser.Fetch(result, "Test Data/Dancing Queen.nfo", CancellationToken.None));
- }
- [Fact]
- public void Fetch_NullResult_ThrowsArgumentException()
- {
- var result = new MetadataResult<Video>()
- {
- Item = new MusicVideo()
- };
- Assert.Throws<ArgumentException>(() => _parser.Fetch(result, string.Empty, CancellationToken.None));
- }
- }
- }
|