From 3303eea72b81ce2f9f7385220c0a518e2c76ccd7 Mon Sep 17 00:00:00 2001 From: Dan Jagnow Date: Mon, 27 Feb 2023 18:17:25 -0600 Subject: [PATCH 01/10] Updated version.json to 8.0-alpha Updated the version in the version.json file to 8.0-alpha for the 8.0 release for the Dragonflight expansion. --- version.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.json b/version.json index 70af9dee..ab7a40d1 100644 --- a/version.json +++ b/version.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", - "version": "7.1-alpha", + "version": "8.0-alpha", "publicReleaseRefSpec": [ "^refs/heads/main$", "^refs/heads/release/v\\d+(?:\\.\\d+){0,3}$", From 90a82b3a355432fdead98263929155156c1a8943 Mon Sep 17 00:00:00 2001 From: Dan Jagnow Date: Mon, 27 Feb 2023 18:21:01 -0600 Subject: [PATCH 02/10] Updated unit tests to .NET 7 Updated all unit test projects to .NET 7. Updated the GitHub Actions build and global.json accordingly. --- .github/workflows/build.yml | 4 ++-- global.json | 2 +- ...WarcraftClient.Extensions.DependencyInjection.Tests.csproj | 2 +- .../ArgentPonyWarcraftClient.Integration.Tests.csproj | 2 +- .../ArgentPonyWarcraftClient.Tests.csproj | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c6ba4443..14293755 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,10 +15,10 @@ jobs: with: fetch-depth: 0 # avoid shallow clone so nbgv can do its work. - - name: Install .NET 5 SDK + - name: Install .NET 7 SDK uses: actions/setup-dotnet@5a3fa01c67e60dba8f95e2878436c7151c4b5f01 # v1.8.2 with: - dotnet-version: 6.0.100 + dotnet-version: 7.0.103 - name: Build run: dotnet build --configuration Release --verbosity minimal diff --git a/global.json b/global.json index 1b8195c4..1c924d07 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "6.0.100", + "version": "7.0.103", "rollForward": "latestMinor" } } diff --git a/tests/ArgentPonyWarcraftClient.Extensions.DependencyInjection.Tests/ArgentPonyWarcraftClient.Extensions.DependencyInjection.Tests.csproj b/tests/ArgentPonyWarcraftClient.Extensions.DependencyInjection.Tests/ArgentPonyWarcraftClient.Extensions.DependencyInjection.Tests.csproj index 3feb84ce..cd77162d 100644 --- a/tests/ArgentPonyWarcraftClient.Extensions.DependencyInjection.Tests/ArgentPonyWarcraftClient.Extensions.DependencyInjection.Tests.csproj +++ b/tests/ArgentPonyWarcraftClient.Extensions.DependencyInjection.Tests/ArgentPonyWarcraftClient.Extensions.DependencyInjection.Tests.csproj @@ -1,7 +1,7 @@ - net6.0 + net7.0 false enable diff --git a/tests/ArgentPonyWarcraftClient.Integration.Tests/ArgentPonyWarcraftClient.Integration.Tests.csproj b/tests/ArgentPonyWarcraftClient.Integration.Tests/ArgentPonyWarcraftClient.Integration.Tests.csproj index 1b4ace03..7c83da94 100644 --- a/tests/ArgentPonyWarcraftClient.Integration.Tests/ArgentPonyWarcraftClient.Integration.Tests.csproj +++ b/tests/ArgentPonyWarcraftClient.Integration.Tests/ArgentPonyWarcraftClient.Integration.Tests.csproj @@ -1,7 +1,7 @@ - net6.0 + net7.0 enable diff --git a/tests/ArgentPonyWarcraftClient.Tests/ArgentPonyWarcraftClient.Tests.csproj b/tests/ArgentPonyWarcraftClient.Tests/ArgentPonyWarcraftClient.Tests.csproj index 4cf2f146..b5666ff6 100644 --- a/tests/ArgentPonyWarcraftClient.Tests/ArgentPonyWarcraftClient.Tests.csproj +++ b/tests/ArgentPonyWarcraftClient.Tests/ArgentPonyWarcraftClient.Tests.csproj @@ -1,7 +1,7 @@ - net6.0 + net7.0 enable From 70f24af9f2a980c413906330ff3dd2ab2064ba47 Mon Sep 17 00:00:00 2001 From: Dan Jagnow Date: Mon, 27 Feb 2023 18:28:14 -0600 Subject: [PATCH 03/10] Updated NuGet packages Updated all NuGet packages to the latest available. --- .config/dotnet-tools.json | 2 +- Directory.Build.props | 4 ++-- ...arcraftClient.Extensions.DependencyInjection.csproj | 4 ++-- .../ArgentPonyWarcraftClient.csproj | 4 ++-- ...tClient.Extensions.DependencyInjection.Tests.csproj | 8 ++++---- .../ArgentPonyWarcraftClient.Integration.Tests.csproj | 10 +++++----- .../ArgentPonyWarcraftClient.Tests.Assertions.csproj | 4 ++-- .../ArgentPonyWarcraftClient.Tests.csproj | 6 +++--- 8 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index dbc1d3fc..b0b54bd9 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -3,7 +3,7 @@ "isRoot": true, "tools": { "nbgv": { - "version": "3.4.244", + "version": "3.5.119", "commands": [ "nbgv" ] diff --git a/Directory.Build.props b/Directory.Build.props index 6fc3b2ff..6243b8ef 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -9,7 +9,7 @@ - - + + diff --git a/src/ArgentPonyWarcraftClient.Extensions.DependencyInjection/ArgentPonyWarcraftClient.Extensions.DependencyInjection.csproj b/src/ArgentPonyWarcraftClient.Extensions.DependencyInjection/ArgentPonyWarcraftClient.Extensions.DependencyInjection.csproj index c29bb3ea..e7b78255 100644 --- a/src/ArgentPonyWarcraftClient.Extensions.DependencyInjection/ArgentPonyWarcraftClient.Extensions.DependencyInjection.csproj +++ b/src/ArgentPonyWarcraftClient.Extensions.DependencyInjection/ArgentPonyWarcraftClient.Extensions.DependencyInjection.csproj @@ -15,8 +15,8 @@ - - + + diff --git a/src/ArgentPonyWarcraftClient/ArgentPonyWarcraftClient.csproj b/src/ArgentPonyWarcraftClient/ArgentPonyWarcraftClient.csproj index 54cbe499..9f4e7e7d 100644 --- a/src/ArgentPonyWarcraftClient/ArgentPonyWarcraftClient.csproj +++ b/src/ArgentPonyWarcraftClient/ArgentPonyWarcraftClient.csproj @@ -20,8 +20,8 @@ - - + + diff --git a/tests/ArgentPonyWarcraftClient.Extensions.DependencyInjection.Tests/ArgentPonyWarcraftClient.Extensions.DependencyInjection.Tests.csproj b/tests/ArgentPonyWarcraftClient.Extensions.DependencyInjection.Tests/ArgentPonyWarcraftClient.Extensions.DependencyInjection.Tests.csproj index cd77162d..cf14281d 100644 --- a/tests/ArgentPonyWarcraftClient.Extensions.DependencyInjection.Tests/ArgentPonyWarcraftClient.Extensions.DependencyInjection.Tests.csproj +++ b/tests/ArgentPonyWarcraftClient.Extensions.DependencyInjection.Tests/ArgentPonyWarcraftClient.Extensions.DependencyInjection.Tests.csproj @@ -7,13 +7,13 @@ - - - + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/tests/ArgentPonyWarcraftClient.Integration.Tests/ArgentPonyWarcraftClient.Integration.Tests.csproj b/tests/ArgentPonyWarcraftClient.Integration.Tests/ArgentPonyWarcraftClient.Integration.Tests.csproj index 7c83da94..6c118391 100644 --- a/tests/ArgentPonyWarcraftClient.Integration.Tests/ArgentPonyWarcraftClient.Integration.Tests.csproj +++ b/tests/ArgentPonyWarcraftClient.Integration.Tests/ArgentPonyWarcraftClient.Integration.Tests.csproj @@ -11,11 +11,11 @@ - - - - - + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/tests/ArgentPonyWarcraftClient.Tests.Assertions/ArgentPonyWarcraftClient.Tests.Assertions.csproj b/tests/ArgentPonyWarcraftClient.Tests.Assertions/ArgentPonyWarcraftClient.Tests.Assertions.csproj index 8af6bc0f..b8fbee95 100644 --- a/tests/ArgentPonyWarcraftClient.Tests.Assertions/ArgentPonyWarcraftClient.Tests.Assertions.csproj +++ b/tests/ArgentPonyWarcraftClient.Tests.Assertions/ArgentPonyWarcraftClient.Tests.Assertions.csproj @@ -8,8 +8,8 @@ - - + + diff --git a/tests/ArgentPonyWarcraftClient.Tests/ArgentPonyWarcraftClient.Tests.csproj b/tests/ArgentPonyWarcraftClient.Tests/ArgentPonyWarcraftClient.Tests.csproj index b5666ff6..07e28d25 100644 --- a/tests/ArgentPonyWarcraftClient.Tests/ArgentPonyWarcraftClient.Tests.csproj +++ b/tests/ArgentPonyWarcraftClient.Tests/ArgentPonyWarcraftClient.Tests.csproj @@ -11,10 +11,10 @@ - + - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive From af6f7f2039417e552829125aa11256b69f6669f7 Mon Sep 17 00:00:00 2001 From: Dan Jagnow Date: Mon, 27 Feb 2023 21:50:07 -0600 Subject: [PATCH 04/10] Updated Talent for Dragonflight Updated Talent and related classes and tests for the Dragonflight expansion. --- .../GameDataApi/Talent/RankDescription.cs | 19 +++++++++++ .../Models/GameDataApi/Talent/Talent.cs | 24 +++++--------- .../GameDataApi/TalentApiTests.cs | 4 +-- .../GameDataApi/TalentApiTests.cs | 4 +-- .../Properties/Resources.Designer.cs | 20 ++++++----- .../Properties/Resources.resx | 33 ++++++++++++------- 6 files changed, 64 insertions(+), 40 deletions(-) create mode 100644 src/ArgentPonyWarcraftClient/Models/GameDataApi/Talent/RankDescription.cs diff --git a/src/ArgentPonyWarcraftClient/Models/GameDataApi/Talent/RankDescription.cs b/src/ArgentPonyWarcraftClient/Models/GameDataApi/Talent/RankDescription.cs new file mode 100644 index 00000000..61d507a4 --- /dev/null +++ b/src/ArgentPonyWarcraftClient/Models/GameDataApi/Talent/RankDescription.cs @@ -0,0 +1,19 @@ +namespace ArgentPonyWarcraftClient; + +/// +/// A talent rank description. +/// +public record RankDescription +{ + /// + /// Gets the numeric rank. + /// + [JsonPropertyName("rank")] + public int Rank { get; init; } + + /// + /// Gets the rank description. + /// + [JsonPropertyName("description")] + public string Description { get; init; } +} diff --git a/src/ArgentPonyWarcraftClient/Models/GameDataApi/Talent/Talent.cs b/src/ArgentPonyWarcraftClient/Models/GameDataApi/Talent/Talent.cs index 9877f727..3d720a3d 100644 --- a/src/ArgentPonyWarcraftClient/Models/GameDataApi/Talent/Talent.cs +++ b/src/ArgentPonyWarcraftClient/Models/GameDataApi/Talent/Talent.cs @@ -18,22 +18,10 @@ public record Talent public int Id { get; init; } /// - /// Gets the tier index for the talent. + /// Gets the rank description associated with this talent. /// - [JsonPropertyName("tier_index")] - public int TierIndex { get; init; } - - /// - /// Gets the column index of the talent. - /// - [JsonPropertyName("column_index")] - public int ColumnIndex { get; init; } - - /// - /// Gets the level of the talent. - /// - [JsonPropertyName("level")] - public int Level { get; init; } + [JsonPropertyName("rank_descriptions")] + public RankDescription[] RankDescription { get; init; } /// /// Gets the description of the talent. @@ -52,4 +40,10 @@ public record Talent /// [JsonPropertyName("playable_class")] public PlayableClassReference PlayableClass { get; init; } + + /// + /// Gets a reference to the playable specialization associated with this talent. + /// + [JsonPropertyName("playable_specialization")] + public PlayableSpecializationReference PlayableSpecialization { get; init; } } diff --git a/tests/ArgentPonyWarcraftClient.Integration.Tests/GameDataApi/TalentApiTests.cs b/tests/ArgentPonyWarcraftClient.Integration.Tests/GameDataApi/TalentApiTests.cs index 0e220847..28c1f4de 100644 --- a/tests/ArgentPonyWarcraftClient.Integration.Tests/GameDataApi/TalentApiTests.cs +++ b/tests/ArgentPonyWarcraftClient.Integration.Tests/GameDataApi/TalentApiTests.cs @@ -18,10 +18,10 @@ public async Task GetTalentAsync_Gets_Talent() { ITalentApi warcraftClient = ClientFactory.BuildClient(); - RequestResult result = await warcraftClient.GetTalentAsync(23106, "static-us"); + RequestResult result = await warcraftClient.GetTalentAsync(117163, "static-us"); await result.Should().BeSuccessfulRequest() - .BeEquivalentToBlizzardResponseAsync("https://us.api.blizzard.com/data/wow/talent/23106?namespace=static-us&locale=en_US"); + .BeEquivalentToBlizzardResponseAsync("https://us.api.blizzard.com/data/wow/talent/117163?namespace=static-us&locale=en_US"); } [ResilientFact] diff --git a/tests/ArgentPonyWarcraftClient.Tests/GameDataApi/TalentApiTests.cs b/tests/ArgentPonyWarcraftClient.Tests/GameDataApi/TalentApiTests.cs index da9d6b93..9319bf67 100644 --- a/tests/ArgentPonyWarcraftClient.Tests/GameDataApi/TalentApiTests.cs +++ b/tests/ArgentPonyWarcraftClient.Tests/GameDataApi/TalentApiTests.cs @@ -17,10 +17,10 @@ public async Task GetTalentsIndexAsync_Gets_TalentsIndex() public async Task GetTalentAsync_Gets_Talent() { ITalentApi warcraftClient = ClientFactory.BuildMockClient( - requestUri: "https://us.api.blizzard.com/data/wow/talent/23106?namespace=static-us&locale=en_US", + requestUri: "https://us.api.blizzard.com/data/wow/talent/117163?namespace=static-us&locale=en_US", responseContent: Resources.TalentResponse); - RequestResult result = await warcraftClient.GetTalentAsync(23106, "static-us"); + RequestResult result = await warcraftClient.GetTalentAsync(117163, "static-us"); Assert.NotNull(result.Value); } diff --git a/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.Designer.cs b/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.Designer.cs index 1117833f..12434fd1 100644 --- a/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.Designer.cs +++ b/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace ArgentPonyWarcraftClient.Tests.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { @@ -3948,19 +3948,21 @@ internal static string SpellResponse { /// Looks up a localized string similar to { /// "_links": { /// "self": { - /// "href": "https://us.api.blizzard.com/data/wow/talent/23106?namespace=static-8.3.0_32861-us" + /// "href": "https://us.api.blizzard.com/data/wow/talent/117163?namespace=static-10.0.5_47621-us" /// } /// }, - /// "id": 23106, - /// "tier_index": 0, - /// "column_index": 0, - /// "level": 15, - /// "description": "Tiger Palm also applies Eye of the Tiger, dealing 168 Nature damage to the enemy and 168 healing to the Monk over 8 sec.", + /// "id": 117163, + /// "rank_descriptions": [ + /// { + /// "rank": 1, + /// "description": "Revenge deals 10% more damage, or 20% more damage when your successful dodges or parries have made it cost no Rage." + /// } + /// ], /// "spell": { /// "key": { - /// "href": "https://us.api.blizzard.com/data/wow/spell/196607?namespace=static-8.3.0_32861-us" + /// "href": "https://us.api.blizzard.com/data/wow/spell/202560?namespace=static-10.0.5_47621-us" /// }, - /// "name": "Eye [rest of string was truncated]";. + /// "nam [rest of string was truncated]";. /// internal static string TalentResponse { get { diff --git a/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx b/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx index b6f7ccbb..fa8c4f5f 100644 --- a/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx +++ b/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx @@ -61505,27 +61505,36 @@ { "_links": { "self": { - "href": "https://us.api.blizzard.com/data/wow/talent/23106?namespace=static-8.3.0_32861-us" + "href": "https://us.api.blizzard.com/data/wow/talent/117163?namespace=static-10.0.5_47621-us" } }, - "id": 23106, - "tier_index": 0, - "column_index": 0, - "level": 15, - "description": "Tiger Palm also applies Eye of the Tiger, dealing 168 Nature damage to the enemy and 168 healing to the Monk over 8 sec.", + "id": 117163, + "rank_descriptions": [ + { + "rank": 1, + "description": "Revenge deals 10% more damage, or 20% more damage when your successful dodges or parries have made it cost no Rage." + } + ], "spell": { "key": { - "href": "https://us.api.blizzard.com/data/wow/spell/196607?namespace=static-8.3.0_32861-us" + "href": "https://us.api.blizzard.com/data/wow/spell/202560?namespace=static-10.0.5_47621-us" }, - "name": "Eye of the Tiger", - "id": 196607 + "name": "Best Served Cold", + "id": 202560 }, "playable_class": { "key": { - "href": "https://us.api.blizzard.com/data/wow/playable-class/10?namespace=static-8.3.0_32861-us" + "href": "https://us.api.blizzard.com/data/wow/playable-class/1?namespace=static-10.0.5_47621-us" + }, + "name": "Warrior", + "id": 1 + }, + "playable_specialization": { + "key": { + "href": "https://us.api.blizzard.com/data/wow/playable-specialization/73?namespace=static-10.0.5_47621-us" }, - "name": "Monk", - "id": 10 + "name": "Protection", + "id": 73 } } From 2b7423a15f65950a1a14595770e92a88ccd078bd Mon Sep 17 00:00:00 2001 From: Dan Jagnow Date: Mon, 27 Feb 2023 22:27:59 -0600 Subject: [PATCH 05/10] Updated PlayableSpecialization for Dragonflight Updated PlayableSpecialization and related classes and tests for the Dragonflight expansion. --- .../PlayableSpecialization.cs | 6 + .../GameDataApi/Talent/TalentTreeReference.cs | 19 ++ .../Properties/Resources.Designer.cs | 21 +- .../Properties/Resources.resx | 200 ++---------------- 4 files changed, 58 insertions(+), 188 deletions(-) create mode 100644 src/ArgentPonyWarcraftClient/Models/GameDataApi/Talent/TalentTreeReference.cs diff --git a/src/ArgentPonyWarcraftClient/Models/GameDataApi/PlayableSpecialization/PlayableSpecialization.cs b/src/ArgentPonyWarcraftClient/Models/GameDataApi/PlayableSpecialization/PlayableSpecialization.cs index 1ce43468..62c6d084 100644 --- a/src/ArgentPonyWarcraftClient/Models/GameDataApi/PlayableSpecialization/PlayableSpecialization.cs +++ b/src/ArgentPonyWarcraftClient/Models/GameDataApi/PlayableSpecialization/PlayableSpecialization.cs @@ -58,4 +58,10 @@ public record PlayableSpecialization /// [JsonPropertyName("pvp_talents")] public PvpTalentElement[] PvpTalents { get; init; } + + /// + /// Gets a reference to the talent tree associated with this specialization. + /// + [JsonPropertyName("spec_talent_tree")] + public TalentTreeReference SpecTalentTree { get; init; } } diff --git a/src/ArgentPonyWarcraftClient/Models/GameDataApi/Talent/TalentTreeReference.cs b/src/ArgentPonyWarcraftClient/Models/GameDataApi/Talent/TalentTreeReference.cs new file mode 100644 index 00000000..f36eaf4b --- /dev/null +++ b/src/ArgentPonyWarcraftClient/Models/GameDataApi/Talent/TalentTreeReference.cs @@ -0,0 +1,19 @@ +namespace ArgentPonyWarcraftClient; + +/// +/// A reference to a talent tree. +/// +public record TalentTreeReference +{ + /// + /// Gets the key for the talent tree. + /// + [JsonPropertyName("key")] + public Self Key { get; init; } + + /// + /// Gets the name of the talent tree. + /// + [JsonPropertyName("name")] + public string Name { get; init; } +} diff --git a/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.Designer.cs b/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.Designer.cs index 12434fd1..5bd2d5a1 100644 --- a/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.Designer.cs +++ b/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.Designer.cs @@ -2822,20 +2822,21 @@ internal static string PlayableSpecializationMediaResponse { /// Looks up a localized string similar to { /// "_links": { /// "self": { - /// "href": "https://us.api.blizzard.com/data/wow/playable-specialization/262?namespace=static-8.3.0_32861-us" + /// "href": "https://us.api.blizzard.com/data/wow/talent/117163?namespace=static-10.0.5_47621-us" /// } /// }, - /// "id": 262, - /// "playable_class": { + /// "id": 117163, + /// "rank_descriptions": [ + /// { + /// "rank": 1, + /// "description": "Revenge deals 10% more damage, or 20% more damage when your successful dodges or parries have made it cost no Rage." + /// } + /// ], + /// "spell": { /// "key": { - /// "href": "https://us.api.blizzard.com/data/wow/playable-class/7?namespace=static-8.3.0_32861-us" + /// "href": "https://us.api.blizzard.com/data/wow/spell/202560?namespace=static-10.0.5_47621-us" /// }, - /// "name": "Shaman", - /// "id": 7 - /// }, - /// "name": "Elemental", - /// "gender_description": { - /// "male": "A spellcaster who harnesses the destructive forces of nature and the elements.\r\n\r [rest of string was truncated]";. + /// "nam [rest of string was truncated]";. /// internal static string PlayableSpecializationResponse { get { diff --git a/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx b/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx index fa8c4f5f..897d62db 100644 --- a/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx +++ b/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx @@ -65393,193 +65393,37 @@ { "_links": { "self": { - "href": "https://us.api.blizzard.com/data/wow/playable-specialization/262?namespace=static-8.3.0_32861-us" + "href": "https://us.api.blizzard.com/data/wow/talent/117163?namespace=static-10.0.5_47621-us" } }, - "id": 262, - "playable_class": { + "id": 117163, + "rank_descriptions": [ + { + "rank": 1, + "description": "Revenge deals 10% more damage, or 20% more damage when your successful dodges or parries have made it cost no Rage." + } + ], + "spell": { "key": { - "href": "https://us.api.blizzard.com/data/wow/playable-class/7?namespace=static-8.3.0_32861-us" + "href": "https://us.api.blizzard.com/data/wow/spell/202560?namespace=static-10.0.5_47621-us" }, - "name": "Shaman", - "id": 7 - }, - "name": "Elemental", - "gender_description": { - "male": "A spellcaster who harnesses the destructive forces of nature and the elements.\r\n\r\nPreferred Weapon: Mace, Dagger, and Shield", - "female": "A spellcaster who harnesses the destructive forces of nature and the elements.\r\n\r\nPreferred Weapon: Mace, Dagger, and Shield" + "name": "Best Served Cold", + "id": 202560 }, - "media": { + "playable_class": { "key": { - "href": "https://us.api.blizzard.com/data/wow/media/playable-specialization/262?namespace=static-8.3.0_32861-us" + "href": "https://us.api.blizzard.com/data/wow/playable-class/1?namespace=static-10.0.5_47621-us" }, - "id": 262 - }, - "role": { - "type": "DAMAGE", - "name": "Damage" + "name": "Warrior", + "id": 1 }, - "talent_tiers": [ - { - "level": 15, - "talents": [ - { - "talent": { - "key": { - "href": "https://us.api.blizzard.com/data/wow/talent/22356?namespace=static-8.3.0_32861-us" - }, - "name": "Earthen Rage", - "id": 22356 - }, - "spell_tooltip": { - "description": "Your damaging spells incite the earth around you to come to your aid for 6 sec, repeatedly dealing 833 Nature damage to your most recently attacked target.", - "cast_time": "Passive" - }, - "column_index": 0 - }, - { - "talent": { - "key": { - "href": "https://us.api.blizzard.com/data/wow/talent/22357?namespace=static-8.3.0_32861-us" - }, - "name": "Echo of the Elements", - "id": 22357 - }, - "spell_tooltip": { - "description": "Lava Burst now has 2 charges. Effects that reset its remaining cooldown will instead grant 1 charge.", - "cast_time": "Passive" - }, - "column_index": 1 - }, - { - "talent": { - "key": { - "href": "https://us.api.blizzard.com/data/wow/talent/22358?namespace=static-8.3.0_32861-us" - }, - "name": "Elemental Blast", - "id": 22358 - }, - "spell_tooltip": { - "description": "Harnesses the raw power of the elements, dealing 3,818 Elemental damage and increasing your Critical Strike, Haste, or Mastery by 366 for 10 sec.\r\n\r\nCan cause an Elemental Overload.", - "cast_time": "2 sec cast", - "range": "40 yd range", - "cooldown": "12 sec cooldown" - }, - "column_index": 2 - } - ], - "tier_index": 0 - }, - { - "level": 100, - "talents": [ - { - "talent": { - "key": { - "href": "https://us.api.blizzard.com/data/wow/talent/21198?namespace=static-8.3.0_32861-us" - }, - "name": "Unlimited Power", - "id": 21198 - }, - "spell_tooltip": { - "description": "When your spells cause an elemental overload, you gain 2% Haste for 10 sec. Gaining a stack does not refresh the duration.", - "cast_time": "Passive" - }, - "column_index": 0 - }, - { - "talent": { - "key": { - "href": "https://us.api.blizzard.com/data/wow/talent/22153?namespace=static-8.3.0_32861-us" - }, - "name": "Stormkeeper", - "id": 22153 - }, - "spell_tooltip": { - "description": "Charge yourself with lightning, causing your next 2 Lightning Bolts to deal 150% more damage, and also causes your next 2 Lightning Bolts or Chain Lightnings to be instant cast and trigger an Elemental Overload on every target.", - "cast_time": "1.5 sec cast", - "cooldown": "1 min cooldown" - }, - "column_index": 1 - }, - { - "talent": { - "key": { - "href": "https://us.api.blizzard.com/data/wow/talent/21675?namespace=static-8.3.0_32861-us" - }, - "name": "Ascendance", - "id": 21675 - }, - "spell_tooltip": { - "description": "Transform into a Flame Ascendant for 15 sec, replacing Chain Lightning with Lava Beam, removing the cooldown on Lava Burst, and increasing the damage of Lava Burst by an amount equal to your critical strike chance.", - "cast_time": "Instant", - "cooldown": "3 min cooldown" - }, - "column_index": 2 - } - ], - "tier_index": 6 - } - ], - "pvp_talents": [ - { - "talent": { - "key": { - "href": "https://us.api.blizzard.com/data/wow/pvp-talent/727?namespace=static-8.3.0_32861-us" - }, - "name": "Elemental Attunement", - "id": 727 - }, - "spell_tooltip": { - "description": "Increases your maximum Maelstrom by 50.", - "cast_time": "Passive" - } - }, - { - "talent": { - "key": { - "href": "https://us.api.blizzard.com/data/wow/pvp-talent/3490?namespace=static-8.3.0_32861-us" - }, - "name": "Counterstrike Totem", - "id": 3490 - }, - "spell_tooltip": { - "description": "Summons an Air Totem with 5 health at the feet of the caster for 15 sec. \r\n\r\nWhenever enemies within 20 yards of the totem deal direct damage, the totem will deal 100% of the damage dealt back to attacker. ", - "cast_time": "Instant", - "power_cost": "600 Mana", - "range": "40 yd range", - "cooldown": "45 sec cooldown" - } - }, - { - "talent": { - "key": { - "href": "https://us.api.blizzard.com/data/wow/pvp-talent/3620?namespace=static-8.3.0_32861-us" - }, - "name": "Grounding Totem", - "id": 3620 - }, - "spell_tooltip": { - "description": "Summons an Air Totem with 5 health at the feet of the caster that will redirect all harmful spells cast on a nearby party or raid member to itself. Will not redirect area of effect spells. Lasts 3 sec.", - "cast_time": "Instant", - "power_cost": "1,180 Mana", - "cooldown": "30 sec cooldown" - } + "playable_specialization": { + "key": { + "href": "https://us.api.blizzard.com/data/wow/playable-specialization/73?namespace=static-10.0.5_47621-us" }, - { - "talent": { - "key": { - "href": "https://us.api.blizzard.com/data/wow/pvp-talent/3621?namespace=static-8.3.0_32861-us" - }, - "name": "Swelling Waves", - "id": 3621 - }, - "spell_tooltip": { - "description": "When you cast Healing Surge on yourself, you are healed for 50% of the amount 3 sec later.", - "cast_time": "Passive" - } - } - ] + "name": "Protection", + "id": 73 + } } From f5ae11885461d8824fbce9a09ba1eb7886145139 Mon Sep 17 00:00:00 2001 From: Dan Jagnow Date: Mon, 27 Feb 2023 22:35:57 -0600 Subject: [PATCH 06/10] Updated MythicKeystoneDungeon for Dragonflight Updated MythicKeystoneDungeon and related classes and tests for the Dragonflight expansion. --- .../MythicKeystoneDungeon.cs | 6 +++++ .../MythicKeystoneDungeonApiTests.cs | 4 +-- .../MythicKeystoneDungeonApiTests.cs | 4 +-- .../Properties/Resources.Designer.cs | 21 ++++++++------- .../Properties/Resources.resx | 27 ++++++++++--------- 5 files changed, 35 insertions(+), 27 deletions(-) diff --git a/src/ArgentPonyWarcraftClient/Models/GameDataApi/MythicKeystoneDungeon/MythicKeystoneDungeon.cs b/src/ArgentPonyWarcraftClient/Models/GameDataApi/MythicKeystoneDungeon/MythicKeystoneDungeon.cs index 43298dfb..4ca50626 100644 --- a/src/ArgentPonyWarcraftClient/Models/GameDataApi/MythicKeystoneDungeon/MythicKeystoneDungeon.cs +++ b/src/ArgentPonyWarcraftClient/Models/GameDataApi/MythicKeystoneDungeon/MythicKeystoneDungeon.cs @@ -46,4 +46,10 @@ public record MythicKeystoneDungeon /// [JsonPropertyName("keystone_upgrades")] public MythicKeystoneUpgrade[] KeystoneUpgrades { get; init; } + + /// + /// Gets a value indicating whether the mythic keystone dungeon is tracked. + /// + [JsonPropertyName("is_tracked")] + public bool IsTracked { get; init; } } diff --git a/tests/ArgentPonyWarcraftClient.Integration.Tests/GameDataApi/MythicKeystoneDungeonApiTests.cs b/tests/ArgentPonyWarcraftClient.Integration.Tests/GameDataApi/MythicKeystoneDungeonApiTests.cs index 653da730..28aba8c5 100644 --- a/tests/ArgentPonyWarcraftClient.Integration.Tests/GameDataApi/MythicKeystoneDungeonApiTests.cs +++ b/tests/ArgentPonyWarcraftClient.Integration.Tests/GameDataApi/MythicKeystoneDungeonApiTests.cs @@ -18,10 +18,10 @@ public async Task GetMythicKeystoneDungeonAsync_Gets_MythicKeystoneDungeon() { IMythicKeystoneDungeonApi warcraftClient = ClientFactory.BuildClient(); - RequestResult result = await warcraftClient.GetMythicKeystoneDungeonAsync(375, "dynamic-us"); + RequestResult result = await warcraftClient.GetMythicKeystoneDungeonAsync(197, "dynamic-us"); await result.Should().BeSuccessfulRequest() - .BeEquivalentToBlizzardResponseAsync("https://us.api.blizzard.com/data/wow/mythic-keystone/dungeon/375?namespace=dynamic-us&locale=en_US"); + .BeEquivalentToBlizzardResponseAsync("https://us.api.blizzard.com/data/wow/mythic-keystone/dungeon/197?namespace=dynamic-us&locale=en_US"); } [ResilientFact] diff --git a/tests/ArgentPonyWarcraftClient.Tests/GameDataApi/MythicKeystoneDungeonApiTests.cs b/tests/ArgentPonyWarcraftClient.Tests/GameDataApi/MythicKeystoneDungeonApiTests.cs index 8d51a213..9df71599 100644 --- a/tests/ArgentPonyWarcraftClient.Tests/GameDataApi/MythicKeystoneDungeonApiTests.cs +++ b/tests/ArgentPonyWarcraftClient.Tests/GameDataApi/MythicKeystoneDungeonApiTests.cs @@ -17,10 +17,10 @@ public async Task GetMythicKeystoneDungeonsIndexAsync_Gets_MythicKeystoneDungeon public async Task GetMythicKeystoneDungeonAsync_Gets_MythicKeystoneDungeon() { IMythicKeystoneDungeonApi warcraftClient = ClientFactory.BuildMockClient( - requestUri: "https://us.api.blizzard.com/data/wow/mythic-keystone/dungeon/353?namespace=dynamic-us&locale=en_US", + requestUri: "https://us.api.blizzard.com/data/wow/mythic-keystone/dungeon/197?namespace=dynamic-us&locale=en_US", responseContent: Resources.MythicKeystoneDungeonResponse); - RequestResult result = await warcraftClient.GetMythicKeystoneDungeonAsync(353, "dynamic-us"); + RequestResult result = await warcraftClient.GetMythicKeystoneDungeonAsync(197, "dynamic-us"); Assert.NotNull(result.Value); } diff --git a/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.Designer.cs b/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.Designer.cs index 5bd2d5a1..e4ea15dc 100644 --- a/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.Designer.cs +++ b/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.Designer.cs @@ -2266,25 +2266,26 @@ internal static string MythicKeystoneAffixResponse { /// Looks up a localized string similar to { /// "_links": { /// "self": { - /// "href": "https://us.api.blizzard.com/data/wow/mythic-keystone/dungeon/353?namespace=dynamic-us" + /// "href": "https://us.api.blizzard.com/data/wow/mythic-keystone/dungeon/197?namespace=dynamic-us" /// } /// }, - /// "id": 353, - /// "name": "Siege of Boralus", + /// "id": 197, + /// "name": "Eye of Azshara", /// "map": { - /// "name": "Siege of Boralus", - /// "id": 1822 + /// "name": "Eye of Azshara", + /// "id": 1456 /// }, /// "zone": { - /// "slug": "siege-of-boralus" + /// "slug": "eye-of-azshara" /// }, /// "dungeon": { /// "key": { - /// "href": "https://us.api.blizzard.com/data/wow/journal-instance/1023?namespace=static-8.3.0_32861-us" + /// "href": "https://us.api.blizzard.com/data/wow/journal-instance/716?namespace=static-10.0.5_47621-us" /// }, - /// "name": "Siege of Boralus", - /// "id": 1023 - /// }, /// [rest of string was truncated]";. + /// "name": "Eye of Azshara", + /// "id": 716 + /// }, + /// "keyst [rest of string was truncated]";. /// internal static string MythicKeystoneDungeonResponse { get { diff --git a/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx b/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx index 897d62db..a5a1dadc 100644 --- a/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx +++ b/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx @@ -61133,39 +61133,40 @@ { "_links": { "self": { - "href": "https://us.api.blizzard.com/data/wow/mythic-keystone/dungeon/353?namespace=dynamic-us" + "href": "https://us.api.blizzard.com/data/wow/mythic-keystone/dungeon/197?namespace=dynamic-us" } }, - "id": 353, - "name": "Siege of Boralus", + "id": 197, + "name": "Eye of Azshara", "map": { - "name": "Siege of Boralus", - "id": 1822 + "name": "Eye of Azshara", + "id": 1456 }, "zone": { - "slug": "siege-of-boralus" + "slug": "eye-of-azshara" }, "dungeon": { "key": { - "href": "https://us.api.blizzard.com/data/wow/journal-instance/1023?namespace=static-8.3.0_32861-us" + "href": "https://us.api.blizzard.com/data/wow/journal-instance/716?namespace=static-10.0.5_47621-us" }, - "name": "Siege of Boralus", - "id": 1023 + "name": "Eye of Azshara", + "id": 716 }, "keystone_upgrades": [ { "upgrade_level": 1, - "qualifying_duration": 2160000 + "qualifying_duration": 2100000 }, { "upgrade_level": 2, - "qualifying_duration": 1728000 + "qualifying_duration": 1680000 }, { "upgrade_level": 3, - "qualifying_duration": 1296000 + "qualifying_duration": 1260000 } - ] + ], + "is_tracked": false } From 80031df9a0e0da9d74227f405baf8968afc1a26f Mon Sep 17 00:00:00 2001 From: Dan Jagnow Date: Mon, 27 Feb 2023 22:58:09 -0600 Subject: [PATCH 07/10] Updated PreviewItem for Dragonflight Updated PreviewItem and related tests for the Dragonflight expansion. --- .../Models/GameDataApi/Item/PreviewItem.cs | 12 ++++ .../Properties/Resources.Designer.cs | 10 +-- .../Properties/Resources.resx | 66 +++++++++---------- 3 files changed, 48 insertions(+), 40 deletions(-) diff --git a/src/ArgentPonyWarcraftClient/Models/GameDataApi/Item/PreviewItem.cs b/src/ArgentPonyWarcraftClient/Models/GameDataApi/Item/PreviewItem.cs index 9716ead3..f370b854 100644 --- a/src/ArgentPonyWarcraftClient/Models/GameDataApi/Item/PreviewItem.cs +++ b/src/ArgentPonyWarcraftClient/Models/GameDataApi/Item/PreviewItem.cs @@ -11,6 +11,18 @@ public record PreviewItem [JsonPropertyName("item")] public Media Item { get; init; } + /// + /// Gets the context for the item. + /// + [JsonPropertyName("context")] + public int Context { get; init; } + + /// + /// Gets the bonus list for the item. + /// + [JsonPropertyName("bonus_list")] + public int[] BonusList { get; init; } + /// /// Gets the quality of the item. /// diff --git a/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.Designer.cs b/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.Designer.cs index e4ea15dc..1becb590 100644 --- a/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.Designer.cs +++ b/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.Designer.cs @@ -1728,7 +1728,7 @@ internal static string ItemMediaResponse { /// Looks up a localized string similar to { /// "_links": { /// "self": { - /// "href": "https://us.api.blizzard.com/data/wow/item/19019?namespace=static-8.3.0_32861-us" + /// "href": "https://us.api.blizzard.com/data/wow/item/19019?namespace=static-10.0.5_47621-us" /// } /// }, /// "id": 19019, @@ -1737,15 +1737,15 @@ internal static string ItemMediaResponse { /// "type": "LEGENDARY", /// "name": "Legendary" /// }, - /// "level": 58, - /// "required_level": 60, + /// "level": 29, + /// "required_level": 25, /// "media": { /// "key": { - /// "href": "https://us.api.blizzard.com/data/wow/media/item/19019?namespace=static-8.3.0_32861-us" + /// "href": "https://us.api.blizzard.com/data/wow/media/item/19019?namespace=static-10.0.5_47621-us" /// }, /// "id": 19019 /// }, - /// "item_class": { /// [rest of string was truncated]";. + /// "item_class": [rest of string was truncated]";. /// internal static string ItemResponse { get { diff --git a/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx b/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx index a5a1dadc..0e4af296 100644 --- a/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx +++ b/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx @@ -54227,7 +54227,7 @@ { "_links": { "self": { - "href": "https://us.api.blizzard.com/data/wow/item/19019?namespace=static-8.3.0_32861-us" + "href": "https://us.api.blizzard.com/data/wow/item/19019?namespace=static-10.0.5_47621-us" } }, "id": 19019, @@ -54236,24 +54236,24 @@ "type": "LEGENDARY", "name": "Legendary" }, - "level": 58, - "required_level": 60, + "level": 29, + "required_level": 25, "media": { "key": { - "href": "https://us.api.blizzard.com/data/wow/media/item/19019?namespace=static-8.3.0_32861-us" + "href": "https://us.api.blizzard.com/data/wow/media/item/19019?namespace=static-10.0.5_47621-us" }, "id": 19019 }, "item_class": { "key": { - "href": "https://us.api.blizzard.com/data/wow/item-class/2?namespace=static-8.3.0_32861-us" + "href": "https://us.api.blizzard.com/data/wow/item-class/2?namespace=static-10.0.5_47621-us" }, "name": "Weapon", "id": 2 }, "item_subclass": { "key": { - "href": "https://us.api.blizzard.com/data/wow/item-class/2/item-subclass/7?namespace=static-8.3.0_32861-us" + "href": "https://us.api.blizzard.com/data/wow/item-class/2/item-subclass/7?namespace=static-10.0.5_47621-us" }, "name": "Sword", "id": 7 @@ -54262,18 +54262,22 @@ "type": "WEAPON", "name": "One-Hand" }, - "purchase_price": 575526, - "sell_price": 115105, + "purchase_price": 162276, + "sell_price": 32455, "max_count": 1, "is_equippable": true, "is_stackable": false, "preview_item": { "item": { "key": { - "href": "https://us.api.blizzard.com/data/wow/item/19019?namespace=static-8.3.0_32861-us" + "href": "https://us.api.blizzard.com/data/wow/item/19019?namespace=static-10.0.5_47621-us" }, "id": 19019 }, + "context": 0, + "bonus_list": [ + 9264 + ], "quality": { "type": "LEGENDARY", "name": "Legendary" @@ -54281,20 +54285,20 @@ "name": "Thunderfury, Blessed Blade of the Windseeker", "media": { "key": { - "href": "https://us.api.blizzard.com/data/wow/media/item/19019?namespace=static-8.3.0_32861-us" + "href": "https://us.api.blizzard.com/data/wow/media/item/19019?namespace=static-10.0.5_47621-us" }, "id": 19019 }, "item_class": { "key": { - "href": "https://us.api.blizzard.com/data/wow/item-class/2?namespace=static-8.3.0_32861-us" + "href": "https://us.api.blizzard.com/data/wow/item-class/2?namespace=static-10.0.5_47621-us" }, "name": "Weapon", "id": 2 }, "item_subclass": { "key": { - "href": "https://us.api.blizzard.com/data/wow/item-class/2/item-subclass/7?namespace=static-8.3.0_32861-us" + "href": "https://us.api.blizzard.com/data/wow/item-class/2/item-subclass/7?namespace=static-10.0.5_47621-us" }, "name": "Sword", "id": 7 @@ -54310,9 +54314,9 @@ "unique_equipped": "Unique", "weapon": { "damage": { - "min_value": 16, - "max_value": 28, - "display_string": "16 - 28 Damage", + "min_value": 17, + "max_value": 30, + "display_string": "17 - 30 Damage", "damage_class": { "type": "PHYSICAL", "name": "Physical" @@ -54323,8 +54327,8 @@ "display_string": "Speed 2.60" }, "dps": { - "value": 8.461538, - "display_string": "(8.5 damage per second)" + "value": 9.038461, + "display_string": "(9.0 damage per second)" } }, "stats": [ @@ -54382,9 +54386,9 @@ "type": "NATURE_RESISTANCE", "name": "Nature Resistance" }, - "value": 5, + "value": 6, "display": { - "display_string": "+5 Nature Resistance", + "display_string": "+6 Nature Resistance", "color": { "r": 0, "g": 255, @@ -54398,38 +54402,30 @@ { "spell": { "key": { - "href": "https://us.api.blizzard.com/data/wow/spell/21992?namespace=static-8.3.0_32861-us" + "href": "https://us.api.blizzard.com/data/wow/spell/21992?namespace=static-10.0.5_47621-us" }, "name": "Thunderfury", "id": 21992 }, - "description": "Chance on hit: Blasts your enemy with lightning, dealing 1,114 Nature damage and then jumping to additional nearby enemies. Each jump reduces that victim's Nature resistance by 88. Affects 5 targets. Your primary target is also consumed by a cyclone, slowing its attack speed by 20% for 12 sec." + "description": "Chance on hit: Blasts your enemy with lightning, dealing 53 Nature damage and then jumping to additional nearby enemies. Each jump reduces that victim's Nature resistance by 4. Affects 5 targets. Your primary target is also consumed by a cyclone, slowing its attack speed by 20% for 12 sec." } ], - "sell_price": { - "value": 115105, - "display_strings": { - "header": "Sell Price:", - "gold": "11", - "silver": "51", - "copper": "5" - } - }, "requirements": { "level": { - "value": 60, - "display_string": "Requires Level 60" + "value": 30, + "display_string": "Requires Level 30" } }, "level": { - "value": 58, - "display_string": "Item Level 58" + "value": 101, + "display_string": "Item Level 101" }, "durability": { "value": 130, "display_string": "Durability 130 / 130" } - } + }, + "purchase_quantity": 1 } From 9dae02c491419b75fd0303edf6d3ba7810076d98 Mon Sep 17 00:00:00 2001 From: Dan Jagnow Date: Mon, 27 Feb 2023 23:07:07 -0600 Subject: [PATCH 08/10] Updated AuctionsIndex for Dragonflight Updated AuctionsIndex and related tests for the Dragonflight expansion. --- .../Models/GameDataApi/AuctionHouse/AuctionsIndex.cs | 6 ++++++ .../Properties/Resources.resx | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/ArgentPonyWarcraftClient/Models/GameDataApi/AuctionHouse/AuctionsIndex.cs b/src/ArgentPonyWarcraftClient/Models/GameDataApi/AuctionHouse/AuctionsIndex.cs index bfdef540..76a6ad29 100644 --- a/src/ArgentPonyWarcraftClient/Models/GameDataApi/AuctionHouse/AuctionsIndex.cs +++ b/src/ArgentPonyWarcraftClient/Models/GameDataApi/AuctionHouse/AuctionsIndex.cs @@ -22,4 +22,10 @@ public record AuctionsIndex /// [JsonPropertyName("auctions")] public Auction[] Auctions { get; init; } + + /// + /// Gets commodities associated with the auctions. + /// + [JsonPropertyName("commodities")] + public Self Commodities { get; init; } } diff --git a/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx b/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx index 0e4af296..68352a69 100644 --- a/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx +++ b/tests/ArgentPonyWarcraftClient.Tests/Properties/Resources.resx @@ -54220,7 +54220,10 @@ "quantity": 1, "time_left": "VERY_LONG" } - ] + ], + "commodities": { + "href": "https://us.api.blizzard.com/data/wow/auctions/commodities?namespace=dynamic-us" + } } From 9880612b6938eeedfe548f8a56f8dae58b14d0ec Mon Sep 17 00:00:00 2001 From: Dan Jagnow Date: Mon, 27 Feb 2023 23:11:03 -0600 Subject: [PATCH 09/10] Fixed PvP tests for Dragonflight Fixed PvP tests for Dragonflight. They are volatile due to the characters on the leaderboard. --- .../ProfileApi/CharacterPvpApiTests.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/ArgentPonyWarcraftClient.Integration.Tests/ProfileApi/CharacterPvpApiTests.cs b/tests/ArgentPonyWarcraftClient.Integration.Tests/ProfileApi/CharacterPvpApiTests.cs index d1db4b40..594f2564 100644 --- a/tests/ArgentPonyWarcraftClient.Integration.Tests/ProfileApi/CharacterPvpApiTests.cs +++ b/tests/ArgentPonyWarcraftClient.Integration.Tests/ProfileApi/CharacterPvpApiTests.cs @@ -8,7 +8,7 @@ public class CharacterPvpApiTests public async Task GetCharacterPvpBracketStatisticsAsync_Gets_PvpBracketStatistics() { ICharacterPvpApi warcraftClient = ClientFactory.BuildClient(); - RequestResult result = await warcraftClient.GetCharacterPvpBracketStatisticsAsync("malganis", "zenli", "3v3", "profile-us"); + RequestResult result = await warcraftClient.GetCharacterPvpBracketStatisticsAsync("malganis", "gutso", "3v3", "profile-us"); Assert.NotNull(result.Value); } @@ -16,7 +16,7 @@ public async Task GetCharacterPvpBracketStatisticsAsync_Gets_PvpBracketStatistic public async Task GetCharacterPvpSummaryAsync_Gets_CharacterPvpSummary() { ICharacterPvpApi warcraftClient = ClientFactory.BuildClient(); - RequestResult result = await warcraftClient.GetCharacterPvpSummaryAsync("malganis", "zenli", "profile-us"); + RequestResult result = await warcraftClient.GetCharacterPvpSummaryAsync("malganis", "gutso", "profile-us"); Assert.NotNull(result.Value); } } From 6f22ff5307f9bb7367ad2002704611151b3c0252 Mon Sep 17 00:00:00 2001 From: Dan Jagnow Date: Mon, 27 Feb 2023 23:20:05 -0600 Subject: [PATCH 10/10] Updated third party GitHub Actions Updated third party GitHub Actions to the latest versions. --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 14293755..1db5d47e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,12 +11,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # v2.4.0 + uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 with: fetch-depth: 0 # avoid shallow clone so nbgv can do its work. - name: Install .NET 7 SDK - uses: actions/setup-dotnet@5a3fa01c67e60dba8f95e2878436c7151c4b5f01 # v1.8.2 + uses: actions/setup-dotnet@607fce577a46308457984d59e4954e075820f10a # v3.0.3 with: dotnet-version: 7.0.103 @@ -30,7 +30,7 @@ jobs: BLIZZARD_CLIENT_SECRET: ${{ secrets.BLIZZARD_CLIENT_SECRET }} - name: Upload build artifacts - uses: actions/upload-artifact@27121b0bdffd731efa15d66772be8dc71245d074 # v2.2.4 + uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2 with: name: NuGet packages path: |