diff --git a/src/Steam.Models/SteamStore/StoreAppDetailsDataModel.cs b/src/Steam.Models/SteamStore/StoreAppDetailsDataModel.cs index 6b71d19..470a6c8 100644 --- a/src/Steam.Models/SteamStore/StoreAppDetailsDataModel.cs +++ b/src/Steam.Models/SteamStore/StoreAppDetailsDataModel.cs @@ -1,10 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Steam.Models.SteamStore +namespace Steam.Models.SteamStore { public class StoreAppDetailsDataModel { diff --git a/src/Steam.UnitTests/Steam.UnitTests.csproj b/src/Steam.UnitTests/Steam.UnitTests.csproj index 0e5e5b5..8c8a359 100644 --- a/src/Steam.UnitTests/Steam.UnitTests.csproj +++ b/src/Steam.UnitTests/Steam.UnitTests.csproj @@ -6,6 +6,7 @@ 46a53f4e-b4d4-4fad-b7c9-b777001cfe42 + diff --git a/src/Steam.UnitTests/SteamStoreTests.cs b/src/Steam.UnitTests/SteamStoreTests.cs new file mode 100644 index 0000000..5b12235 --- /dev/null +++ b/src/Steam.UnitTests/SteamStoreTests.cs @@ -0,0 +1,42 @@ +using AutoMapper; +using SteamWebAPI2.Interfaces; +using SteamWebAPI2.Mappings; +using System.Threading.Tasks; +using Xunit; + +namespace Steam.UnitTests +{ + public class SteamStoreTests + { + private readonly SteamStore steamStore; + + public SteamStoreTests() + { + var mapperConfig = new MapperConfiguration(config => + { + config.AddProfile(); + }); + + var mapper = mapperConfig.CreateMapper(); + + steamStore = new SteamStore(mapper); + } + + [Fact] + public async Task GetStoreAppDetailsAsync_Should_Succeed() + { + var response = await steamStore.GetStoreAppDetailsAsync(1086940); + Assert.NotNull(response); + Assert.NotNull(response.Name); + } + + [Fact] + public async Task GetStoreAppDetailsAsync_WithCurrency_Should_Succeed() + { + var response = await steamStore.GetStoreAppDetailsAsync(1086940, "mx"); + Assert.NotNull(response); + Assert.NotNull(response.PriceOverview?.Currency); + Assert.Equal("MXN", response.PriceOverview.Currency); + } + } +} diff --git a/src/SteamWebAPI2/Interfaces/ISteamStore.cs b/src/SteamWebAPI2/Interfaces/ISteamStore.cs index db6678c..6bdf7cd 100644 --- a/src/SteamWebAPI2/Interfaces/ISteamStore.cs +++ b/src/SteamWebAPI2/Interfaces/ISteamStore.cs @@ -5,7 +5,7 @@ namespace SteamWebAPI2.Interfaces { internal interface ISteamStore { - Task GetStoreAppDetailsAsync(uint appId); + Task GetStoreAppDetailsAsync(uint appId, string cc = ""); Task GetStoreFeaturedCategoriesAsync(); diff --git a/src/SteamWebAPI2/Interfaces/SteamStore.cs b/src/SteamWebAPI2/Interfaces/SteamStore.cs index c014ee3..6c18830 100644 --- a/src/SteamWebAPI2/Interfaces/SteamStore.cs +++ b/src/SteamWebAPI2/Interfaces/SteamStore.cs @@ -23,11 +23,12 @@ public SteamStore(IMapper mapper, HttpClient httpClient) : base(mapper, httpClie /// /// /// - public async Task GetStoreAppDetailsAsync(uint appId) + public async Task GetStoreAppDetailsAsync(uint appId, string cc = "") { List parameters = new List(); parameters.AddIfHasValue(appId, "appids"); + parameters.AddIfHasValue(cc, "cc"); var appDetails = await CallMethodAsync("appdetails", parameters);