mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-04-20 00:55:13 +01:00
Merge pull request #5194 from Ullmie02/nfo-watched
This commit is contained in:
@@ -3,6 +3,7 @@ using System.Linq;
|
||||
using System.Threading;
|
||||
using MediaBrowser.Common.Configuration;
|
||||
using MediaBrowser.Controller.Entities.TV;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Model.Configuration;
|
||||
using MediaBrowser.Model.Entities;
|
||||
@@ -34,7 +35,10 @@ namespace Jellyfin.XbmcMetadata.Tests.Parsers
|
||||
var config = new Mock<IConfigurationManager>();
|
||||
config.Setup(x => x.GetConfiguration(It.IsAny<string>()))
|
||||
.Returns(new XbmcMetadataOptions());
|
||||
_parser = new EpisodeNfoParser(new NullLogger<EpisodeNfoParser>(), config.Object, providerManager.Object);
|
||||
var user = new Mock<IUserManager>();
|
||||
var userData = new Mock<IUserDataManager>();
|
||||
|
||||
_parser = new EpisodeNfoParser(new NullLogger<EpisodeNfoParser>(), config.Object, providerManager.Object, user.Object, userData.Object);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using Jellyfin.Data.Entities;
|
||||
using MediaBrowser.Common.Configuration;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Model.Configuration;
|
||||
using MediaBrowser.Model.Entities;
|
||||
@@ -18,9 +20,13 @@ namespace Jellyfin.XbmcMetadata.Tests.Parsers
|
||||
public class MovieNfoParserTests
|
||||
{
|
||||
private readonly MovieNfoParser _parser;
|
||||
private readonly IUserDataManager _userDataManager;
|
||||
private readonly User _testUser;
|
||||
|
||||
public MovieNfoParserTests()
|
||||
{
|
||||
_testUser = new User("Test User", "Auth provider", "Reset provider");
|
||||
|
||||
var providerManager = new Mock<IProviderManager>();
|
||||
|
||||
var tmdbExternalId = new TmdbMovieExternalId();
|
||||
@@ -29,10 +35,24 @@ namespace Jellyfin.XbmcMetadata.Tests.Parsers
|
||||
providerManager.Setup(x => x.GetExternalIdInfos(It.IsAny<IHasProviderIds>()))
|
||||
.Returns(new[] { externalIdInfo });
|
||||
|
||||
var config = new Mock<IConfigurationManager>();
|
||||
config.Setup(x => x.GetConfiguration(It.IsAny<string>()))
|
||||
.Returns(new XbmcMetadataOptions());
|
||||
_parser = new MovieNfoParser(new NullLogger<MovieNfoParser>(), config.Object, providerManager.Object);
|
||||
var nfoConfig = new XbmcMetadataOptions()
|
||||
{
|
||||
UserId = "F38E6443-090B-4F7A-BD12-9CFF5020F7BC"
|
||||
};
|
||||
var configManager = new Mock<IConfigurationManager>();
|
||||
configManager.Setup(x => x.GetConfiguration(It.IsAny<string>()))
|
||||
.Returns(nfoConfig);
|
||||
|
||||
var user = new Mock<IUserManager>();
|
||||
user.Setup(x => x.GetUserById(It.IsAny<Guid>()))
|
||||
.Returns(_testUser);
|
||||
|
||||
var userData = new Mock<IUserDataManager>();
|
||||
userData.Setup(x => x.GetUserData(_testUser, It.IsAny<BaseItem>()))
|
||||
.Returns(new UserItemData());
|
||||
|
||||
_userDataManager = userData.Object;
|
||||
_parser = new MovieNfoParser(new NullLogger<MovieNfoParser>(), configManager.Object, providerManager.Object, user.Object, userData.Object);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -94,6 +114,12 @@ namespace Jellyfin.XbmcMetadata.Tests.Parsers
|
||||
Assert.Equal("Test Lyricist", lyricist!.Name);
|
||||
|
||||
Assert.Equal(new DateTime(2019, 8, 6, 9, 1, 18), item.DateCreated);
|
||||
|
||||
// userData
|
||||
var userData = _userDataManager.GetUserData(_testUser, item);
|
||||
Assert.Equal(2, userData.PlayCount);
|
||||
Assert.True(userData.Played);
|
||||
Assert.Equal(new DateTime(2021, 02, 11, 07, 47, 23), userData.LastPlayedDate);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.Linq;
|
||||
using System.Threading;
|
||||
using MediaBrowser.Common.Configuration;
|
||||
using MediaBrowser.Controller.Entities.Audio;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Model.Configuration;
|
||||
using MediaBrowser.Model.Entities;
|
||||
@@ -35,7 +36,10 @@ namespace Jellyfin.XbmcMetadata.Tests.Parsers
|
||||
var config = new Mock<IConfigurationManager>();
|
||||
config.Setup(x => x.GetConfiguration(It.IsAny<string>()))
|
||||
.Returns(new XbmcMetadataOptions());
|
||||
_parser = new BaseNfoParser<MusicAlbum>(new NullLogger<BaseNfoParser<MusicAlbum>>(), config.Object, providerManager.Object);
|
||||
var user = new Mock<IUserManager>();
|
||||
var userData = new Mock<IUserDataManager>();
|
||||
|
||||
_parser = new BaseNfoParser<MusicAlbum>(new NullLogger<BaseNfoParser<MusicAlbum>>(), config.Object, providerManager.Object, user.Object, userData.Object);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Linq;
|
||||
using System.Threading;
|
||||
using MediaBrowser.Common.Configuration;
|
||||
using MediaBrowser.Controller.Entities.Audio;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Model.Configuration;
|
||||
using MediaBrowser.Model.Entities;
|
||||
@@ -32,7 +33,10 @@ namespace Jellyfin.XbmcMetadata.Tests.Parsers
|
||||
var config = new Mock<IConfigurationManager>();
|
||||
config.Setup(x => x.GetConfiguration(It.IsAny<string>()))
|
||||
.Returns(new XbmcMetadataOptions());
|
||||
_parser = new BaseNfoParser<MusicArtist>(new NullLogger<BaseNfoParser<MusicArtist>>(), config.Object, providerManager.Object);
|
||||
var user = new Mock<IUserManager>();
|
||||
var userData = new Mock<IUserDataManager>();
|
||||
|
||||
_parser = new BaseNfoParser<MusicArtist>(new NullLogger<BaseNfoParser<MusicArtist>>(), config.Object, providerManager.Object, user.Object, userData.Object);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.Linq;
|
||||
using System.Threading;
|
||||
using MediaBrowser.Common.Configuration;
|
||||
using MediaBrowser.Controller.Entities.TV;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Model.Configuration;
|
||||
using MediaBrowser.Model.Entities;
|
||||
@@ -28,7 +29,10 @@ namespace Jellyfin.XbmcMetadata.Tests.Parsers
|
||||
var config = new Mock<IConfigurationManager>();
|
||||
config.Setup(x => x.GetConfiguration(It.IsAny<string>()))
|
||||
.Returns(new XbmcMetadataOptions());
|
||||
_parser = new SeasonNfoParser(new NullLogger<SeasonNfoParser>(), config.Object, providerManager.Object);
|
||||
var user = new Mock<IUserManager>();
|
||||
var userData = new Mock<IUserDataManager>();
|
||||
|
||||
_parser = new SeasonNfoParser(new NullLogger<SeasonNfoParser>(), config.Object, providerManager.Object, user.Object, userData.Object);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Linq;
|
||||
using System.Threading;
|
||||
using MediaBrowser.Common.Configuration;
|
||||
using MediaBrowser.Controller.Entities.TV;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Model.Configuration;
|
||||
using MediaBrowser.Model.Entities;
|
||||
@@ -26,7 +27,10 @@ namespace Jellyfin.XbmcMetadata.Tests.Parsers
|
||||
var config = new Mock<IConfigurationManager>();
|
||||
config.Setup(x => x.GetConfiguration(It.IsAny<string>()))
|
||||
.Returns(new XbmcMetadataOptions());
|
||||
_parser = new SeriesNfoParser(new NullLogger<SeriesNfoParser>(), config.Object, providerManager.Object);
|
||||
var user = new Mock<IUserManager>();
|
||||
var userData = new Mock<IUserDataManager>();
|
||||
|
||||
_parser = new SeriesNfoParser(new NullLogger<SeriesNfoParser>(), config.Object, providerManager.Object, user.Object, userData.Object);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -30,6 +30,9 @@
|
||||
<plot>Fueled by his restored faith in humanity and inspired by Superman's selfless act, Bruce Wayne enlists the help of his newfound ally, Diana Prince, to face an even greater enemy. Together, Batman and Wonder Woman work quickly to find and recruit a team of meta-humans to stand against this newly awakened threat. But despite the formation of this unprecedented league of heroes-Batman, Wonder Woman, Aquaman, Cyborg and The Flash-it may already be too late to save the planet from an assault of catastrophic proportions.</plot>
|
||||
<tagline>Justice for all.</tagline>
|
||||
<runtime>120</runtime>
|
||||
<playcount>2</playcount>
|
||||
<watched>true</watched>
|
||||
<lastplayed>2021-02-11 07:47:23</lastplayed>
|
||||
<tmdbId>141052</tmdbId>
|
||||
<thumb aspect="set.poster" preview="https://assets.fanart.tv/preview/movies/468551/movieposter/justice-league-collection-5c24ea65591d3.jpg">https://assets.fanart.tv/fanart/movies/468551/movieposter/justice-league-collection-5c24ea65591d3.jpg</thumb>
|
||||
<thumb aspect="set.poster" preview="https://assets.fanart.tv/preview/movies/468551/movieposter/justice-league-collection-5c24ea65591d3.jpg">https://assets.fanart.tv/fanart/movies/468551/movieposter/justice-league-collection-5c24ea65591d3.jpg</thumb>
|
||||
@@ -82,8 +85,6 @@
|
||||
<thumb preview="https://assets.fanart.tv/preview/movies/141052/moviebackground/justice-league-5a119394ea362.jpg">https://assets.fanart.tv/fanart/movies/141052/moviebackground/justice-league-5a119394ea362.jpg</thumb>
|
||||
</fanart>
|
||||
<mpaa>Australia:M</mpaa>
|
||||
<playcount>0</playcount>
|
||||
<lastplayed></lastplayed>
|
||||
<id>tt0974015</id>
|
||||
<uniqueid type="imdb" default="true">tt0974015</uniqueid>
|
||||
<genre>Action</genre>
|
||||
|
||||
Reference in New Issue
Block a user