Initial commit of version 0.2.0

This commit is contained in:
Elijah 2026-07-19 18:37:14 -07:00
parent 86fc06b877
commit dfb04462f3
108 changed files with 16167 additions and 80 deletions

View file

@ -0,0 +1,39 @@
using System.Text.Json;
using Decky.Core.Api.Models;
namespace Decky.Core.Tests;
public sealed class CardDtoSerializationTests
{
private static readonly JsonSerializerOptions JsonOptions = new(JsonSerializerDefaults.Web);
[Fact]
public void Card_owner_accepts_documented_string_shape()
{
var card = JsonSerializer.Deserialize<CardDto>(
"""{"id":1,"stackId":2,"title":"Test","owner":"admin"}""",
JsonOptions);
Assert.Equal("admin", card!.Owner);
}
[Fact]
public void Card_owner_accepts_embedded_user_object_shape()
{
var card = JsonSerializer.Deserialize<CardDto>(
"""{"id":1,"stackId":2,"title":"Test","owner":{"primaryKey":"admin","uid":"admin","displayname":"Elijah"}}""",
JsonOptions);
Assert.Equal("admin", card!.Owner);
}
[Fact]
public void Card_owner_falls_back_to_primary_key()
{
var card = JsonSerializer.Deserialize<CardDto>(
"""{"id":1,"stackId":2,"title":"Test","owner":{"primaryKey":"admin"}}""",
JsonOptions);
Assert.Equal("admin", card!.Owner);
}
}