From e4ca9b0754bd5bf924cf58d5f7f581b5283bdb71 Mon Sep 17 00:00:00 2001 From: Justin Skiles Date: Wed, 27 May 2020 08:16:24 -0400 Subject: [PATCH] Fix issue where default visibility on published file details was incorrect. --- src/Steam.Models/PublishedFileVisibility.cs | 7 ++++--- src/Steam.Models/Steam.Models.csproj | 7 ------- src/Steam.UnitTests/Steam.UnitTests.csproj | 5 +++-- src/Steam.UnitTests/SteamRemoteTests.cs | 13 ++++++++++++- .../Models/PublishedFileDetailsResultContainer.cs | 6 +++--- src/SteamWebAPI2/SteamWebAPI2.csproj | 6 +++--- 6 files changed, 25 insertions(+), 19 deletions(-) diff --git a/src/Steam.Models/PublishedFileVisibility.cs b/src/Steam.Models/PublishedFileVisibility.cs index 109c283..623e8a8 100644 --- a/src/Steam.Models/PublishedFileVisibility.cs +++ b/src/Steam.Models/PublishedFileVisibility.cs @@ -1,9 +1,10 @@ namespace Steam.Models { - public enum PublishedFileVisibility + public enum PublishedFileVisibility : uint { Public = 0, - FreindsOnly = 1, - Private = 2 + FriendsOnly = 1, + Private = 2, + Unknown = 3 } } diff --git a/src/Steam.Models/Steam.Models.csproj b/src/Steam.Models/Steam.Models.csproj index eee0675..9f5c4f4 100644 --- a/src/Steam.Models/Steam.Models.csproj +++ b/src/Steam.Models/Steam.Models.csproj @@ -1,13 +1,6 @@ - Contains classes that are used as data transports between various application, business, and data layers for Steam related APIs. - 3.0.10 - Justin Skiles - Steam.Models - Steam.Models - https://github.com/babelshift/Steam.Models - https://raw.githubusercontent.com/babelshift/Steam.Models/master/LICENSE netstandard2.0 diff --git a/src/Steam.UnitTests/Steam.UnitTests.csproj b/src/Steam.UnitTests/Steam.UnitTests.csproj index 2d59441..2ad28b9 100644 --- a/src/Steam.UnitTests/Steam.UnitTests.csproj +++ b/src/Steam.UnitTests/Steam.UnitTests.csproj @@ -6,8 +6,9 @@ 46a53f4e-b4d4-4fad-b7c9-b777001cfe42 - - + + + diff --git a/src/Steam.UnitTests/SteamRemoteTests.cs b/src/Steam.UnitTests/SteamRemoteTests.cs index b2cae98..bf6af00 100644 --- a/src/Steam.UnitTests/SteamRemoteTests.cs +++ b/src/Steam.UnitTests/SteamRemoteTests.cs @@ -1,3 +1,4 @@ +using Steam.Models; using SteamWebAPI2.Interfaces; using System.Net.Http; using System.Threading.Tasks; @@ -15,11 +16,21 @@ public SteamRemoteTests() } [Fact] - public async Task GetPublishedFileDetailsAsync_Should_Succeed() + public async Task GetPublishedFileDetailsAsync_Public_Visibility_Should_Succeed() { var response = await steamInterface.GetPublishedFileDetailsAsync(1673456286); Assert.NotNull(response); Assert.NotNull(response.Data); + Assert.Equal(PublishedFileVisibility.Public, response.Data.Visibility); + } + + [Fact] + public async Task GetPublishedFileDetailsAsync_Unknown_Visibility_Should_Succeed() + { + var response = await steamInterface.GetPublishedFileDetailsAsync(2097579725); + Assert.NotNull(response); + Assert.NotNull(response.Data); + Assert.Equal(PublishedFileVisibility.Unknown, response.Data.Visibility); } } } diff --git a/src/SteamWebAPI2/Models/PublishedFileDetailsResultContainer.cs b/src/SteamWebAPI2/Models/PublishedFileDetailsResultContainer.cs index 83ca5f4..d77d1cd 100644 --- a/src/SteamWebAPI2/Models/PublishedFileDetailsResultContainer.cs +++ b/src/SteamWebAPI2/Models/PublishedFileDetailsResultContainer.cs @@ -1,11 +1,11 @@ using Newtonsoft.Json; using System; using System.Collections.Generic; +using Steam.Models; +using SteamWebAPI2.Utilities.JsonConverters; namespace SteamWebAPI2.Models { - using SteamWebAPI2.Utilities.JsonConverters; - internal class PublishedFileDetailsResultContainer { [JsonProperty("response")] @@ -74,7 +74,7 @@ internal class PublishedFileDetails public DateTime TimeUpdated { get; set; } [JsonProperty("visibility")] - public uint Visibility { get; set; } + public uint Visibility { get; set; } = (uint)PublishedFileVisibility.Unknown; [JsonProperty("banned")] public bool Banned { get; set; } diff --git a/src/SteamWebAPI2/SteamWebAPI2.csproj b/src/SteamWebAPI2/SteamWebAPI2.csproj index d975029..2d7b3d3 100644 --- a/src/SteamWebAPI2/SteamWebAPI2.csproj +++ b/src/SteamWebAPI2/SteamWebAPI2.csproj @@ -2,7 +2,7 @@ This is a .NET library that makes it easy to use the Steam Web API. It conveniently wraps around all of the JSON data and ugly API details with clean methods, structures and classes. - 4.2.3 + 4.2.4 Justin Skiles SteamWebAPI2 SteamWebAPI2 @@ -16,8 +16,8 @@ - - + +