diff --git a/Starnet.Tests/Integration/RichPresenceRequestTests.cs b/Starnet.Tests/Integration/RichPresenceRequestTests.cs new file mode 100644 index 0000000..4e291fe --- /dev/null +++ b/Starnet.Tests/Integration/RichPresenceRequestTests.cs @@ -0,0 +1,22 @@ +using LBPUnion.Starnet.Types.Entities.RichPresence; +using Xunit; + +namespace LBPUnion.Starnet.Tests.Integration; + +[Trait("Category", "Integration")] +public class RichPresenceRequestTests +{ + private readonly LighthouseClient client = new(); + + [Fact] + public async Task RichPresenceRequests_CanGetRichPresence() + { + RichPresenceEntity? richPresenceEntity = await this.client.GetRpcConfigurationAsync(); + Assert.NotNull(richPresenceEntity); + Assert.NotNull(richPresenceEntity.Assets); + + Assert.Equal("1060973475151495288", richPresenceEntity.ApplicationId); + Assert.Equal("beacon", richPresenceEntity.PartyIdPrefix); + Assert.Equal("Integer", richPresenceEntity.UsernameType.ToString()); + } +} \ No newline at end of file diff --git a/Starnet/Types/Entities/RichPresence/RichPresenceAssetsEntity.cs b/Starnet/Types/Entities/RichPresence/RichPresenceAssetsEntity.cs index 32cbfd1..747e77e 100644 --- a/Starnet/Types/Entities/RichPresence/RichPresenceAssetsEntity.cs +++ b/Starnet/Types/Entities/RichPresence/RichPresenceAssetsEntity.cs @@ -1,4 +1,5 @@ -using JetBrains.Annotations; +using System.Text.Json.Serialization; +using JetBrains.Annotations; namespace LBPUnion.Starnet.Types.Entities.RichPresence; @@ -6,12 +7,27 @@ namespace LBPUnion.Starnet.Types.Entities.RichPresence; [Serializable] public class RichPresenceAssetsEntity { - public bool UseApplicationAssets { get; init; } - public string? PodAsset { get; init; } - public string? MoonAsset { get; init; } - public string? RemoteMoonAsset { get; init; } - public string? DeveloperAsset { get; init; } - public string? DeveloperAdventureAsset { get; init; } - public string? DlcAsset { get; init; } - public string? FallbackAsset { get; init; } + [JsonPropertyName("useApplicationAssets")] + public bool UseApplicationAssets { get; set; } + + [JsonPropertyName("podAsset")] + public string? PodAsset { get; set; } + + [JsonPropertyName("moonAsset")] + public string? MoonAsset { get; set; } + + [JsonPropertyName("remoteMoonAsset")] + public string? RemoteMoonAsset { get; set; } + + [JsonPropertyName("developerAsset")] + public string? DeveloperAsset { get; set; } + + [JsonPropertyName("developerAdventureAsset")] + public string? DeveloperAdventureAsset { get; set; } + + [JsonPropertyName("dlcAsset")] + public string? DlcAsset { get; set; } + + [JsonPropertyName("fallbackAsset")] + public string? FallbackAsset { get; set; } } \ No newline at end of file diff --git a/Starnet/Types/Entities/RichPresence/RichPresenceEntity.cs b/Starnet/Types/Entities/RichPresence/RichPresenceEntity.cs index b6042ed..d95824a 100644 --- a/Starnet/Types/Entities/RichPresence/RichPresenceEntity.cs +++ b/Starnet/Types/Entities/RichPresence/RichPresenceEntity.cs @@ -1,5 +1,6 @@ #nullable disable +using System.Text.Json.Serialization; using JetBrains.Annotations; using LBPUnion.Starnet.Types.Enums; @@ -9,8 +10,15 @@ namespace LBPUnion.Starnet.Types.Entities.RichPresence; [Serializable] public class RichPresenceEntity { + [JsonPropertyName("applicationId")] public string ApplicationId { get; set; } + + [JsonPropertyName("partyIdPrefix")] public string PartyIdPrefix { get; set; } + + [JsonPropertyName("usernameType")] public UsernameType UsernameType { get; set; } + + [JsonPropertyName("assets")] public RichPresenceAssetsEntity Assets { get; set; } } \ No newline at end of file