22 lines
741 B
C#
22 lines
741 B
C#
using System.Text.Json;
|
|
using SilverOS.Welcome.Core.Apps;
|
|
using Xunit;
|
|
|
|
public class AppCatalogTests
|
|
{
|
|
[Fact]
|
|
public void Deserializes_a_catalog_entry()
|
|
{
|
|
var json = """
|
|
{ "id":"vscodium","name":"VSCodium","description":"Telemetry-free VS Code.",
|
|
"source":{"winget":"VSCodium.VSCodium"},"group":"developer",
|
|
"roles":["developer"],"defaultFor":["developer"],"configure":null }
|
|
""";
|
|
var e = JsonSerializer.Deserialize<AppCatalogEntry>(json, AppCatalogEntry.JsonOptions)!;
|
|
Assert.Equal("vscodium", e.Id);
|
|
Assert.Equal("VSCodium.VSCodium", e.Source.Winget);
|
|
Assert.Contains("developer", e.Roles);
|
|
Assert.Contains("developer", e.DefaultFor);
|
|
}
|
|
}
|