Backend: - Expose GET /config/playback so the frontend can detect whether anonymous listening is enabled without requiring auth - Wire anonymous access through track streaming and YouTube resolve flows Frontend: - Allow browsing/listening without a session when the backend enables it - Redesign Inicio, Sidebar and top bar with a new dark theme, typography, and layout (top bar with live quick-search, sticky/blurred on scroll) - Populate Top música, Popular and Recomendados with real Musify + YouTube Music data instead of placeholders - Various shape, spacing, color and animation refinements across the redesigned components
26 lines
891 B
C#
26 lines
891 B
C#
using System.Net;
|
|
using System.Net.Http.Json;
|
|
using Musify.Api.Tests.TestSupport;
|
|
using Musify.Application.Configuration.Responses;
|
|
using Xunit;
|
|
|
|
namespace Musify.Api.Tests.Endpoints
|
|
{
|
|
[Collection(ApiCollection.Name)]
|
|
public sealed class ConfigEndpointsTests(ApiTestFixture fixture)
|
|
{
|
|
[Fact]
|
|
public async Task GetPlaybackConfig_WithoutAuthentication_ReturnsConfiguredValues()
|
|
{
|
|
var client = fixture.CreateAnonymousClient();
|
|
|
|
var response = await client.GetAsync("/config/playback", TestContext.Current.CancellationToken);
|
|
|
|
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
|
|
var body = await response.Content.ReadFromJsonAsync<PlaybackPublicConfigResponse>(TestContext.Current.CancellationToken);
|
|
Assert.NotNull(body);
|
|
Assert.False(body.AllowAnonymousListening);
|
|
}
|
|
}
|
|
}
|