Change editor rule

This commit is contained in:
2026-09-24 13:24:43 +02:00
parent 16478678b5
commit 73e37dbecd
401 changed files with 14735 additions and 12995 deletions
@@ -2,29 +2,30 @@ using Musify.Application.Configuration;
using Musify.Application.Tests.TestSupport;
using Xunit;
namespace Musify.Application.Tests.Configuration;
public sealed class GetPlaybackPublicConfigTests
namespace Musify.Application.Tests.Configuration
{
[Fact]
public async Task Handle_ReflectsPlaybackConfiguration()
public sealed class GetPlaybackPublicConfigTests
{
var playback = TestConfigurations.Playback(allowAnonymousListening: true, anonymousFragmentSeconds: 30);
var handler = new GetPlaybackPublicConfigQueryHandler(playback);
[Fact]
public async Task Handle_ReflectsPlaybackConfiguration()
{
var playback = TestConfigurations.Playback(allowAnonymousListening: true, anonymousFragmentSeconds: 30);
var handler = new GetPlaybackPublicConfigQueryHandler(playback);
var response = await handler.Handle(new GetPlaybackPublicConfigQuery(), TestContext.Current.CancellationToken);
var response = await handler.Handle(new GetPlaybackPublicConfigQuery(), TestContext.Current.CancellationToken);
Assert.True(response.AllowAnonymousListening);
Assert.Equal(30, response.AnonymousFragmentSeconds);
}
Assert.True(response.AllowAnonymousListening);
Assert.Equal(30, response.AnonymousFragmentSeconds);
}
[Fact]
public async Task Handle_DefaultsToDisabled()
{
var handler = new GetPlaybackPublicConfigQueryHandler(TestConfigurations.Playback());
[Fact]
public async Task Handle_DefaultsToDisabled()
{
var handler = new GetPlaybackPublicConfigQueryHandler(TestConfigurations.Playback());
var response = await handler.Handle(new GetPlaybackPublicConfigQuery(), TestContext.Current.CancellationToken);
var response = await handler.Handle(new GetPlaybackPublicConfigQuery(), TestContext.Current.CancellationToken);
Assert.False(response.AllowAnonymousListening);
Assert.False(response.AllowAnonymousListening);
}
}
}
@@ -1,50 +1,51 @@
using Musify.Application.Configuration;
using Xunit;
namespace Musify.Application.Tests.Configuration;
public sealed class PicturesConfigurationTests
namespace Musify.Application.Tests.Configuration
{
[Fact]
public void AlbumRoutes_BuildTheSameKeysAsBefore()
public sealed class PicturesConfigurationTests
{
var routes = new AlbumConfiguration().Routes;
[Fact]
public void AlbumRoutes_BuildTheSameKeysAsBefore()
{
var routes = new AlbumConfiguration().Routes;
Assert.Equal("Albums/SmallPictures/a.webp", routes.BuildPicturePath(PictureSize.Small, "a.webp"));
Assert.Equal("Albums/MediumPictures/a.webp", routes.BuildPicturePath(PictureSize.Medium, "a.webp"));
Assert.Equal("Albums/LargePictures/a.webp", routes.BuildPicturePath(PictureSize.Large, "a.webp"));
Assert.Equal("uploads/7/Albums/OriginalPictures/a.webp", routes.BuildOriginalPicturePath(7, "a.webp"));
Assert.Equal("temp/7/Albums/obj.webp", routes.BuildTempPath("temp", 7, "obj.webp"));
Assert.Equal("Albums/SmallPictures/a.webp", routes.BuildPicturePath(PictureSize.Small, "a.webp"));
Assert.Equal("Albums/MediumPictures/a.webp", routes.BuildPicturePath(PictureSize.Medium, "a.webp"));
Assert.Equal("Albums/LargePictures/a.webp", routes.BuildPicturePath(PictureSize.Large, "a.webp"));
Assert.Equal("uploads/7/Albums/OriginalPictures/a.webp", routes.BuildOriginalPicturePath(7, "a.webp"));
Assert.Equal("temp/7/Albums/obj.webp", routes.BuildTempPath("temp", 7, "obj.webp"));
}
[Fact]
public void TrackRoutes_KeepTheTrackFolderLayout()
{
var routes = new TrackConfiguration().Routes;
Assert.Equal("Tracks/ProcessedAudios/folder", routes.BuildProcessedAudioPath("folder"));
Assert.Equal("uploads/7/Tracks/OriginalAudios/song.mp3", routes.BuildOriginalAudioPath(7, "song.mp3"));
Assert.Equal("Tracks/PresetSmallPicture.webp", routes.PresetSmallPicturePath);
}
[Fact]
public void ToImageSizes_UsesTheRoutesFolders()
{
var configuration = new PlayListConfiguration();
var sizes = configuration.PicturesSizes.ToImageSizes(configuration.Routes);
Assert.Equal("PlayLists/SmallPictures", sizes.Small.SavePath);
Assert.Equal(128, sizes.Small.Width);
Assert.Equal(512, sizes.Large.Width);
}
[Theory]
[InlineData("small", PictureSize.Small)]
[InlineData("LARGE", PictureSize.Large)]
[InlineData("medium", PictureSize.Medium)]
[InlineData("whatever", PictureSize.Medium)]
[InlineData(null, PictureSize.Medium)]
public void PictureSizeParser_DefaultsToMedium(string? value, PictureSize expected) =>
Assert.Equal(expected, PictureSizeParser.Parse(value));
}
[Fact]
public void TrackRoutes_KeepTheTrackFolderLayout()
{
var routes = new TrackConfiguration().Routes;
Assert.Equal("Tracks/ProcessedAudios/folder", routes.BuildProcessedAudioPath("folder"));
Assert.Equal("uploads/7/Tracks/OriginalAudios/song.mp3", routes.BuildOriginalAudioPath(7, "song.mp3"));
Assert.Equal("Tracks/PresetSmallPicture.webp", routes.PresetSmallPicturePath);
}
[Fact]
public void ToImageSizes_UsesTheRoutesFolders()
{
var configuration = new PlayListConfiguration();
var sizes = configuration.PicturesSizes.ToImageSizes(configuration.Routes);
Assert.Equal("PlayLists/SmallPictures", sizes.Small.SavePath);
Assert.Equal(128, sizes.Small.Width);
Assert.Equal(512, sizes.Large.Width);
}
[Theory]
[InlineData("small", PictureSize.Small)]
[InlineData("LARGE", PictureSize.Large)]
[InlineData("medium", PictureSize.Medium)]
[InlineData("whatever", PictureSize.Medium)]
[InlineData(null, PictureSize.Medium)]
public void PictureSizeParser_DefaultsToMedium(string? value, PictureSize expected) =>
Assert.Equal(expected, PictureSizeParser.Parse(value));
}