Improve code clarity and test documentation
Refactored ImageProcessor to use explicit 'this.' member access for consistency and readability. Enhanced test files with XML documentation, explicit types, modern C# syntax, and clearer Moq setups. Enabled XML doc generation for test project. Updated assembly info and cache files as a result of build changes. No functional or behavioral changes.
This commit is contained in:
@@ -13,8 +13,17 @@ namespace Jellyfin.Controller.Tests
|
||||
using Moq;
|
||||
using Xunit;
|
||||
|
||||
/// <summary>
|
||||
/// Tests for <see cref="BaseItemManager"/>.
|
||||
/// </summary>
|
||||
public class BaseItemManagerTests
|
||||
{
|
||||
/// <summary>
|
||||
/// Tests that IsMetadataFetcherEnabled checks library and server configuration options.
|
||||
/// </summary>
|
||||
/// <param name="itemType">The type of item to test.</param>
|
||||
/// <param name="fetcherName">The name of the metadata fetcher.</param>
|
||||
/// <param name="expected">The expected result.</param>
|
||||
[Theory]
|
||||
[InlineData(typeof(Book), "LibraryEnabled", true)]
|
||||
[InlineData(typeof(Book), "LibraryDisabled", false)]
|
||||
@@ -24,30 +33,36 @@ namespace Jellyfin.Controller.Tests
|
||||
{
|
||||
BaseItem item = (BaseItem)Activator.CreateInstance(itemType)!;
|
||||
|
||||
var libraryTypeOptions = itemType == typeof(Book)
|
||||
TypeOptions? libraryTypeOptions = itemType == typeof(Book)
|
||||
? new TypeOptions
|
||||
{
|
||||
Type = "Book",
|
||||
MetadataFetchers = new[] { "LibraryEnabled" }
|
||||
MetadataFetchers = ["LibraryEnabled"],
|
||||
}
|
||||
: null;
|
||||
|
||||
var serverConfiguration = new ServerConfiguration();
|
||||
foreach (var typeConfig in serverConfiguration.MetadataOptions)
|
||||
ServerConfiguration serverConfiguration = new();
|
||||
foreach (MetadataOptions typeConfig in serverConfiguration.MetadataOptions)
|
||||
{
|
||||
typeConfig.DisabledMetadataFetchers = new[] { "ServerDisabled" };
|
||||
typeConfig.DisabledMetadataFetchers = ["ServerDisabled"];
|
||||
}
|
||||
|
||||
var serverConfigurationManager = new Mock<IServerConfigurationManager>();
|
||||
serverConfigurationManager.Setup(scm => scm.Configuration)
|
||||
Mock<IServerConfigurationManager> serverConfigurationManager = new();
|
||||
_ = serverConfigurationManager.Setup(scm => scm.Configuration)
|
||||
.Returns(serverConfiguration);
|
||||
|
||||
var baseItemManager = new BaseItemManager(serverConfigurationManager.Object);
|
||||
var actual = baseItemManager.IsMetadataFetcherEnabled(item, libraryTypeOptions, fetcherName);
|
||||
BaseItemManager baseItemManager = new(serverConfigurationManager.Object);
|
||||
bool actual = baseItemManager.IsMetadataFetcherEnabled(item, libraryTypeOptions, fetcherName);
|
||||
|
||||
Assert.Equal(expected, actual);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests that IsImageFetcherEnabled checks library and server configuration options.
|
||||
/// </summary>
|
||||
/// <param name="itemType">The type of item to test.</param>
|
||||
/// <param name="fetcherName">The name of the image fetcher.</param>
|
||||
/// <param name="expected">The expected result.</param>
|
||||
[Theory]
|
||||
[InlineData(typeof(Book), "LibraryEnabled", true)]
|
||||
[InlineData(typeof(Book), "LibraryDisabled", false)]
|
||||
@@ -57,26 +72,26 @@ namespace Jellyfin.Controller.Tests
|
||||
{
|
||||
BaseItem item = (BaseItem)Activator.CreateInstance(itemType)!;
|
||||
|
||||
var libraryTypeOptions = itemType == typeof(Book)
|
||||
TypeOptions? libraryTypeOptions = itemType == typeof(Book)
|
||||
? new TypeOptions
|
||||
{
|
||||
Type = "Book",
|
||||
ImageFetchers = new[] { "LibraryEnabled" }
|
||||
ImageFetchers = ["LibraryEnabled"],
|
||||
}
|
||||
: null;
|
||||
|
||||
var serverConfiguration = new ServerConfiguration();
|
||||
foreach (var typeConfig in serverConfiguration.MetadataOptions)
|
||||
ServerConfiguration serverConfiguration = new();
|
||||
foreach (MetadataOptions typeConfig in serverConfiguration.MetadataOptions)
|
||||
{
|
||||
typeConfig.DisabledImageFetchers = new[] { "ServerDisabled" };
|
||||
typeConfig.DisabledImageFetchers = ["ServerDisabled"];
|
||||
}
|
||||
|
||||
var serverConfigurationManager = new Mock<IServerConfigurationManager>();
|
||||
serverConfigurationManager.Setup(scm => scm.Configuration)
|
||||
Mock<IServerConfigurationManager> serverConfigurationManager = new();
|
||||
_ = serverConfigurationManager.Setup(scm => scm.Configuration)
|
||||
.Returns(serverConfiguration);
|
||||
|
||||
var baseItemManager = new BaseItemManager(serverConfigurationManager.Object);
|
||||
var actual = baseItemManager.IsImageFetcherEnabled(item, libraryTypeOptions, fetcherName);
|
||||
BaseItemManager baseItemManager = new(serverConfigurationManager.Object);
|
||||
bool actual = baseItemManager.IsImageFetcherEnabled(item, libraryTypeOptions, fetcherName);
|
||||
|
||||
Assert.Equal(expected, actual);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user