feat(ui): add A1 dashboard and resumable onboarding
This commit is contained in:
@@ -28,6 +28,18 @@ public sealed class DashboardPreferencesTests
|
||||
private const string Route = "/api/auth/preferences/dashboard";
|
||||
private const string Layout = "{\"version\":1,\"revision\":0,\"widgets\":[{\"id\":\"cards\",\"visible\":true,\"size\":\"full\"}]}";
|
||||
|
||||
[Fact]
|
||||
public void Agenda_widget_uses_existing_schema_two_without_weakening_unknown_id_or_overlap_checks()
|
||||
{
|
||||
const string json = "{\"version\":2,\"revision\":0,\"widgets\":[{\"id\":\"agenda\",\"visible\":true,\"size\":\"standard\",\"x\":0,\"y\":0,\"w\":8,\"h\":8},{\"id\":\"funnel\",\"visible\":true,\"size\":\"standard\",\"x\":8,\"y\":0,\"w\":4,\"h\":8}]}";
|
||||
using var valid = JsonDocument.Parse(json);
|
||||
Assert.NotNull(DashboardLayout.Parse(valid.RootElement));
|
||||
using var unknown = JsonDocument.Parse(json.Replace("agenda", "unrecognised"));
|
||||
Assert.Null(DashboardLayout.Parse(unknown.RootElement));
|
||||
using var overlap = JsonDocument.Parse(json.Replace("\"x\":8", "\"x\":4"));
|
||||
Assert.Null(DashboardLayout.Parse(overlap.RootElement));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Geometry_roundtrip_preserves_hidden_positions_and_blocks_legacy_downgrade()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user