steam-api 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.rspec +1 -0
- data/.travis.yml +24 -2
- data/Gemfile +0 -1
- data/README.md +35 -4
- data/Rakefile +4 -4
- data/lib/steam-api.rb +14 -15
- data/lib/steam-api/client.rb +7 -1
- data/lib/steam-api/exceptions.rb +8 -0
- data/lib/steam-api/helpers.rb +5 -2
- data/lib/steam-api/response.rb +10 -8
- data/lib/steam-api/ruby/hash.rb +3 -2
- data/lib/steam-api/steam.rb +7 -2
- data/lib/steam-api/steam/apps.rb +9 -12
- data/lib/steam-api/steam/economy.rb +21 -18
- data/lib/steam-api/steam/news.rb +12 -10
- data/lib/steam-api/steam/player.rb +13 -13
- data/lib/steam-api/steam/remote_storage.rb +0 -3
- data/lib/steam-api/steam/store.rb +20 -0
- data/lib/steam-api/steam/user.rb +1 -3
- data/lib/steam-api/steam/user_stats.rb +21 -11
- data/lib/steam-api/version.rb +1 -2
- data/spec/spec_helper.rb +0 -6
- data/spec/steam/apps_spec.rb +49 -30
- data/spec/steam/economy_spec.rb +22 -26
- data/spec/steam/news_spec.rb +6 -6
- data/spec/steam/player_spec.rb +61 -49
- data/spec/steam/store_spec.rb +18 -0
- data/spec/steam/users-stats_spec.rb +56 -45
- data/spec/steam/users_spec.rb +38 -44
- data/spec/steam_spec.rb +28 -23
- data/steam-api.gemspec +10 -15
- metadata +34 -72
@@ -1,4 +1,3 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
1
|
module Steam
|
3
2
|
# A Ruby DSL for communicating with the Steam Web API.
|
4
3
|
# @see https://developer.valvesoftware.com/wiki/Steam_Web_API
|
@@ -7,14 +6,16 @@ module Steam
|
|
7
6
|
# Get Owned Games
|
8
7
|
# @param [Hash] params Parameters to pass to the API
|
9
8
|
# @option params [Fixnum] :steamid The 64 bit ID of the player. (Optional)
|
10
|
-
# @option params [
|
11
|
-
# details of apps - name and images.
|
12
|
-
# @option params [Boolean] :include_played_free_games (false) Whether or
|
13
|
-
# free-to-play games in the results.
|
14
|
-
# @option params [Array] :appids_filter You can optionally filter the list
|
15
|
-
#
|
16
|
-
#
|
17
|
-
#
|
9
|
+
# @option params [Integer] :include_appinfo (0) Whether or not to include
|
10
|
+
# additional details of apps - name and images.
|
11
|
+
# @option params [Boolean] :include_played_free_games (false) Whether or
|
12
|
+
# not to list free-to-play games in the results.
|
13
|
+
# @option params [Array] :appids_filter You can optionally filter the list
|
14
|
+
# to a set of appids.
|
15
|
+
# Note that these cannot be passed as a URL parameter, instead you must
|
16
|
+
# use the JSON format described in
|
17
|
+
# Steam_Web_API#Calling_Service_interfaces. The expected input is an
|
18
|
+
# array of integers (in JSON: "appids_filter: [ 440, 500, 550 ]" )
|
18
19
|
# @see http://wiki.teamfortress.com/wiki/WebAPI/GetOwnedGames
|
19
20
|
def self.owned_games(steamid, params: {})
|
20
21
|
params[:steamid] = steamid
|
@@ -25,8 +26,9 @@ module Steam
|
|
25
26
|
# Get Recently Played Games
|
26
27
|
# @param [Hash] params Parameters to pass to the API
|
27
28
|
# @option params [String] :steamid The SteamID of the account.
|
28
|
-
# @option params [String] :count Optionally limit to a certain number of
|
29
|
-
# games a person has played in the last 2 weeks is
|
29
|
+
# @option params [String] :count Optionally limit to a certain number of
|
30
|
+
# games (the number of games a person has played in the last 2 weeks is
|
31
|
+
# typically very small)
|
30
32
|
# @see http://wiki.teamfortress.com/wiki/WebAPI/GetRecentlyPlayedGames
|
31
33
|
def self.recently_played_games(steamid, params: {})
|
32
34
|
params[:steamid] = steamid
|
@@ -64,8 +66,6 @@ module Steam
|
|
64
66
|
.parse_key('quests')
|
65
67
|
end
|
66
68
|
|
67
|
-
private
|
68
|
-
|
69
69
|
def self.client
|
70
70
|
build_client 'IPlayerService'
|
71
71
|
end
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
1
|
module Steam
|
3
2
|
# A Ruby DSL for communicating with the Steam Web API.
|
4
3
|
# @see https://developer.valvesoftware.com/wiki/Steam_Web_API
|
@@ -29,8 +28,6 @@ module Steam
|
|
29
28
|
response
|
30
29
|
end
|
31
30
|
|
32
|
-
private
|
33
|
-
|
34
31
|
def self.client
|
35
32
|
build_client 'ISteamRemoteStorage'
|
36
33
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Steam
|
2
|
+
# A Ruby DSL for communicating with the Steam Web API.
|
3
|
+
# @see https://developer.valvesoftware.com/wiki/Steam_Web_API
|
4
|
+
# @since 1.0.0
|
5
|
+
module Store
|
6
|
+
# Get App Details
|
7
|
+
# @param String appid The UUID of the Steam Application
|
8
|
+
# @see https://wiki.teamfortress.com/wiki/User:RJackson/StorefrontAPI#appdetails
|
9
|
+
def self.app_details(appid)
|
10
|
+
response = client.get 'appdetails', params: { appids: appid }
|
11
|
+
response
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def self.client
|
17
|
+
build_client '', base_url: Steam::Helpers::STORE_API_BASE_URL
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/lib/steam-api/steam/user.rb
CHANGED
@@ -5,7 +5,7 @@ module Steam
|
|
5
5
|
# @since 1.0.0
|
6
6
|
module User
|
7
7
|
# Get User's Friend List
|
8
|
-
# @param [String] steamid
|
8
|
+
# @param [String] steamid
|
9
9
|
# @param [String] relationship Relationship filter.
|
10
10
|
# Possibles values: all, friend.
|
11
11
|
# @return [Hash] A hash object resulting from the API call; should
|
@@ -81,8 +81,6 @@ module Steam
|
|
81
81
|
response.parse_key('steamid')
|
82
82
|
end
|
83
83
|
|
84
|
-
private
|
85
|
-
|
86
84
|
def self.client
|
87
85
|
build_client 'ISteamUser'
|
88
86
|
end
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
1
|
module Steam
|
3
2
|
# A Ruby DSL for communicating with the Steam Web API.
|
4
3
|
# @see https://developer.valvesoftware.com/wiki/Steam_Web_API
|
@@ -6,8 +5,8 @@ module Steam
|
|
6
5
|
module UserStats
|
7
6
|
# Get Global Achievement Percentages for App
|
8
7
|
# @param [Fixnum] appid The ID of the game or application
|
9
|
-
# @return [Hash] The hash object of information on the global achievements
|
10
|
-
# a specific game in percentages.
|
8
|
+
# @return [Hash] The hash object of information on the global achievements
|
9
|
+
# overview of a specific game in percentages.
|
11
10
|
# @see http://wiki.teamfortress.com/wiki/WebAPI/GetGlobalAchievementPercentagesForApp
|
12
11
|
def self.achievement_percentages(appid)
|
13
12
|
response = client.get 'GetGlobalAchievementPercentagesForApp/v2',
|
@@ -21,12 +20,14 @@ module Steam
|
|
21
20
|
# @param [Fixnum] appid The ID of the game or application
|
22
21
|
# @param [Hash] params Parameters to pass to the API
|
23
22
|
# @option params [Fixnum] :count Number of stats to get data for.
|
24
|
-
# @option params [String] :name[0] Names of the stats to get. For more than
|
25
|
-
# a parameter for each request. (name[0], name[1], ...)
|
26
|
-
# aggregated. The developer of the game must
|
23
|
+
# @option params [String] :name[0] Names of the stats to get. For more than
|
24
|
+
# one value, use a parameter for each request. (name[0], name[1], ...)
|
25
|
+
# Not all stats are globally aggregated. The developer of the game must
|
26
|
+
# mark the stat as globally aggregated.
|
27
27
|
# @option params [String] :startdate Start date for daily totals
|
28
28
|
# (unix epoch timestamp). (Optional)
|
29
|
-
# @option params [String] :enddate End date for daily totals (unix epoch
|
29
|
+
# @option params [String] :enddate End date for daily totals (unix epoch
|
30
|
+
# timestamp). (Optional)
|
30
31
|
# @return [Hash] A hash containing the API response
|
31
32
|
# @see http://wiki.teamfortress.com/wiki/WebAPI/GetGlobalStatsForGame
|
32
33
|
def self.global_for_game(appid, params: {})
|
@@ -53,7 +54,7 @@ module Steam
|
|
53
54
|
# @see http://wiki.teamfortress.com/wiki/WebAPI/GetNumberOfCurrentPlayers
|
54
55
|
def self.player_count(appid)
|
55
56
|
response = client.get 'GetNumberOfCurrentPlayers/v1',
|
56
|
-
|
57
|
+
params: { appid: appid }
|
57
58
|
response.parse_key('response')
|
58
59
|
.parse_key('player_count')
|
59
60
|
end
|
@@ -61,8 +62,8 @@ module Steam
|
|
61
62
|
# Get Player Achievements
|
62
63
|
# @param [Fixnum] steamid 64 bit Steam ID to return Achievements list for.
|
63
64
|
# @param [Fixnum] appid AppID to get achievements for
|
64
|
-
# @param [String] language Language. If specified, it will return language
|
65
|
-
# the requested language. (Optional)
|
65
|
+
# @param [String] language Language. If specified, it will return language
|
66
|
+
# data for the requested language. (Optional)
|
66
67
|
# @return [Hash] A hash containing the API response
|
67
68
|
# @see http://wiki.teamfortress.com/wiki/WebAPI/GetPlayerAchievements
|
68
69
|
def self.player_achievements(appid, steamid, language: nil)
|
@@ -75,7 +76,16 @@ module Steam
|
|
75
76
|
response
|
76
77
|
end
|
77
78
|
|
78
|
-
|
79
|
+
# Get User Stats for Game
|
80
|
+
# @param [Fixnum] appid AppID to get stats for.
|
81
|
+
# @param [Fixnum] steamid 64 bit Steam ID to return stats for.
|
82
|
+
# @return [Hash] A hash containing the API response.
|
83
|
+
# @see https://developer.valvesoftware.com/wiki/Steam_Web_API#GetUserStatsForGame_.28v0002.29
|
84
|
+
def self.player_stats(appid, steamid)
|
85
|
+
params = { appid: appid, steamid: steamid }
|
86
|
+
response = client.get 'GetUserStatsForGame/v2', params: params
|
87
|
+
response.parse_key('playerstats')
|
88
|
+
end
|
79
89
|
|
80
90
|
def self.client
|
81
91
|
build_client('ISteamUserStats')
|
data/lib/steam-api/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -1,10 +1,4 @@
|
|
1
|
-
require 'coveralls'
|
2
1
|
require 'simplecov'
|
3
|
-
|
4
|
-
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
5
|
-
SimpleCov::Formatter::HTMLFormatter,
|
6
|
-
Coveralls::SimpleCov::Formatter
|
7
|
-
]
|
8
2
|
SimpleCov.start
|
9
3
|
|
10
4
|
if File::exist? File.join(File.dirname(__FILE__), "secret.rb")
|
data/spec/steam/apps_spec.rb
CHANGED
@@ -2,54 +2,73 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Steam::Apps do
|
4
4
|
describe '.get_all' do
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
let(:result) { Steam::Apps.get_all }
|
6
|
+
|
7
|
+
it 'returns a list of apps' do
|
8
|
+
expect(result).to_not be_nil
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'returns an appid for each game' do
|
12
|
+
expect(result.first).to have_key 'appid'
|
8
13
|
end
|
9
14
|
|
10
|
-
it '
|
11
|
-
|
12
|
-
game.should have_key 'appid'
|
13
|
-
game.should have_key 'name'
|
15
|
+
it 'returns a name for each game' do
|
16
|
+
expect(result.first).to have_key 'name'
|
14
17
|
end
|
15
18
|
end
|
16
19
|
|
17
20
|
describe '.get_servers' do
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
+
let(:result) { Steam::Apps.get_servers(addr: '192.168.1.1') }
|
22
|
+
|
23
|
+
it 'returns a valid response' do
|
24
|
+
expect(result).to_not be_nil
|
21
25
|
end
|
22
26
|
|
23
|
-
it '
|
24
|
-
|
25
|
-
.should == []
|
27
|
+
it 'returns an empty array for an ip with no servers' do
|
28
|
+
expect(result).to eq([])
|
26
29
|
end
|
27
30
|
end
|
28
31
|
|
29
32
|
describe '.up_to_date' do
|
30
|
-
|
31
|
-
Steam::Apps.up_to_date(appid: 440, version: 10)
|
32
|
-
|
33
|
-
|
33
|
+
context 'when looking up out of date version info' do
|
34
|
+
let(:result) { Steam::Apps.up_to_date(appid: 440, version: 10) }
|
35
|
+
|
36
|
+
it 'does not return a nil response' do
|
37
|
+
expect(result).to_not be_nil
|
38
|
+
end
|
34
39
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
40
|
+
it "returns a false value for 'up_to_date'" do
|
41
|
+
expect(result['up_to_date']).to be_falsey
|
42
|
+
end
|
43
|
+
|
44
|
+
it "returns a false value for 'version_is_listable'" do
|
45
|
+
expect(result['version_is_listable']).to be_falsey
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'returns a required_version' do
|
49
|
+
expect(result).to have_key('required_version')
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'returns an error message' do
|
53
|
+
expect(result['message']).to eq('Your server is out of date, please upgrade')
|
54
|
+
end
|
41
55
|
end
|
42
56
|
|
43
|
-
|
44
|
-
current
|
45
|
-
check
|
46
|
-
|
47
|
-
|
57
|
+
context 'when looking up current version info' do
|
58
|
+
let(:current) { Steam::Apps.up_to_date(appid: 440, version: 10)['required_version'] }
|
59
|
+
let(:check) { Steam::Apps.up_to_date(appid: 440, version: current) }
|
60
|
+
|
61
|
+
it 'returns a positive up to date value' do
|
62
|
+
expect(check['up_to_date']).to be_truthy
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'returns a positive version_is_listable value' do
|
66
|
+
expect(check['version_is_listable']).to be_truthy
|
67
|
+
end
|
48
68
|
end
|
49
69
|
|
50
70
|
it 'should capture json errors' do
|
51
|
-
|
52
|
-
.should raise_error
|
71
|
+
expect { Steam::Apps.up_to_date(appid: nil, version: 'foo') }.to raise_error(Steam::JSONError)
|
53
72
|
end
|
54
73
|
end
|
55
74
|
end
|
data/spec/steam/economy_spec.rb
CHANGED
@@ -2,46 +2,42 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Steam::Economy do
|
4
4
|
describe '.asset_info' do
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
let(:result) { Steam::Economy.asset_info(440,
|
6
|
+
params: { class_count: 2,
|
7
|
+
classid0: 195151,
|
8
|
+
classid1: 16891096 })}
|
9
|
+
|
10
|
+
it 'returns data' do
|
11
|
+
expect(result).to_not be_nil
|
10
12
|
end
|
11
13
|
|
12
|
-
it '
|
13
|
-
|
14
|
-
.should raise_error
|
14
|
+
it 'requires class params' do
|
15
|
+
expect { Steam::Economy.asset_info(440) }.to raise_error(Steam::JSONError)
|
15
16
|
end
|
16
17
|
|
17
|
-
it '
|
18
|
-
result
|
19
|
-
|
20
|
-
classid1: 16891096 })
|
21
|
-
result.should have_key('195151')
|
22
|
-
result.should have_key('16891096')
|
18
|
+
it 'allows users to query asset info' do
|
19
|
+
expect(result).to have_key('195151')
|
20
|
+
expect(result).to have_key('16891096')
|
23
21
|
end
|
24
22
|
end
|
25
23
|
|
26
24
|
describe '.asset_prices' do
|
27
|
-
|
28
|
-
|
29
|
-
|
25
|
+
let(:result) { Steam::Economy.asset_prices(440) }
|
26
|
+
|
27
|
+
it 'allows users to look up a list asset prices' do
|
28
|
+
expect(result).to_not be_nil
|
30
29
|
end
|
31
30
|
|
32
|
-
it '
|
33
|
-
|
34
|
-
.should have_key('assets')
|
31
|
+
it 'returns a list of assets' do
|
32
|
+
expect(result).to have_key('assets')
|
35
33
|
end
|
36
34
|
|
37
|
-
it '
|
38
|
-
|
39
|
-
.should have_key('tags')
|
35
|
+
it 'returns a list of asset tags' do
|
36
|
+
expect(result).to have_key('tags')
|
40
37
|
end
|
41
38
|
|
42
|
-
it '
|
43
|
-
|
44
|
-
.should have_key('tag_ids')
|
39
|
+
it 'returns a list of asset tag ids' do
|
40
|
+
expect(result).to have_key('tag_ids')
|
45
41
|
end
|
46
42
|
end
|
47
43
|
end
|
data/spec/steam/news_spec.rb
CHANGED
@@ -2,14 +2,14 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Steam::News do
|
4
4
|
describe '.get' do
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
let(:result) { Steam::News.get(440) }
|
6
|
+
|
7
|
+
it 'allow users to look up a news list' do
|
8
|
+
expect(result).to_not be_nil
|
8
9
|
end
|
9
10
|
|
10
|
-
it '
|
11
|
-
|
12
|
-
news.count.should == 20
|
11
|
+
it 'returns the first 20 articles' do
|
12
|
+
expect(result.count).to eq(20)
|
13
13
|
end
|
14
14
|
end
|
15
15
|
end
|
data/spec/steam/player_spec.rb
CHANGED
@@ -1,94 +1,106 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Steam::Player do
|
4
|
+
let(:playerid) { 76561197993276293 }
|
5
|
+
|
4
6
|
describe '.owned_games' do
|
5
|
-
|
6
|
-
|
7
|
-
|
7
|
+
let(:result) { Steam::Player.owned_games(playerid) }
|
8
|
+
|
9
|
+
it 'allows users to retrieve a list of games' do
|
10
|
+
expect(result).to_not be_nil
|
8
11
|
end
|
9
12
|
|
10
|
-
it '
|
11
|
-
|
12
|
-
.should have_key('game_count')
|
13
|
+
it 'returns a game_count' do
|
14
|
+
expect(result).to have_key('game_count')
|
13
15
|
end
|
14
16
|
|
15
|
-
it '
|
16
|
-
|
17
|
-
.should have_key('games')
|
17
|
+
it 'returns a list of games' do
|
18
|
+
expect(result).to have_key('games')
|
18
19
|
end
|
19
20
|
end
|
20
21
|
|
21
22
|
describe '.recently_played_games' do
|
22
|
-
|
23
|
-
|
24
|
-
|
23
|
+
let(:result) { Steam::Player.recently_played_games(playerid) }
|
24
|
+
|
25
|
+
it 'allows users to list a players recent games' do
|
26
|
+
expect(result).to_not be_nil
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'returns total_count' do
|
30
|
+
expect(result).to have_key('total_count')
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'returns the list of games' do
|
34
|
+
expect(result).to have_key('games')
|
25
35
|
end
|
26
36
|
|
27
|
-
it '
|
28
|
-
|
29
|
-
.should have_key 'total_count'
|
37
|
+
it 'returns the recent playtime for games' do
|
38
|
+
expect(result['games'].first).to have_key('playtime_2weeks')
|
30
39
|
end
|
31
40
|
|
32
|
-
it '
|
33
|
-
|
34
|
-
.should have_key 'games'
|
41
|
+
it 'returns the full playtime for games' do
|
42
|
+
expect(result['games'].first).to have_key('playtime_forever')
|
35
43
|
end
|
36
44
|
end
|
37
45
|
|
38
46
|
describe '.steam_level' do
|
39
|
-
|
40
|
-
|
41
|
-
|
47
|
+
let(:result) { Steam::Player.steam_level(playerid) }
|
48
|
+
|
49
|
+
it 'allows users to retrieve a users steam level' do
|
50
|
+
expect(result).to_not be_nil
|
42
51
|
end
|
43
52
|
|
44
|
-
it '
|
45
|
-
|
46
|
-
.should be_a(Fixnum)
|
53
|
+
it 'returns the level number' do
|
54
|
+
expect(result).to be_a(Integer)
|
47
55
|
end
|
48
56
|
end
|
49
57
|
|
50
58
|
describe '.badges' do
|
51
|
-
|
52
|
-
|
53
|
-
|
59
|
+
let(:result) { Steam::Player.badges(playerid) }
|
60
|
+
|
61
|
+
it 'allows a user to retrieve badges for a player' do
|
62
|
+
expect(result).to_not be_nil
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'returns a list of badges' do
|
66
|
+
expect(result).to have_key('badges')
|
54
67
|
end
|
55
68
|
|
56
|
-
it '
|
57
|
-
|
58
|
-
.should have_key 'badges'
|
69
|
+
it 'returns the player level' do
|
70
|
+
expect(result).to have_key('player_level')
|
59
71
|
end
|
60
72
|
|
61
|
-
it '
|
62
|
-
|
63
|
-
.should have_key 'player_level'
|
73
|
+
it 'returns the player level as a number' do
|
74
|
+
expect(result['player_level']).to be_a(Integer)
|
64
75
|
end
|
65
76
|
|
66
|
-
it '
|
67
|
-
|
68
|
-
.should have_key 'player_xp'
|
77
|
+
it 'returns the players current xp' do
|
78
|
+
expect(result).to have_key('player_xp')
|
69
79
|
end
|
70
80
|
|
71
|
-
it '
|
72
|
-
|
73
|
-
.should have_key 'player_xp_needed_current_level'
|
81
|
+
it 'returns the xp a player needed to reach thier current level' do
|
82
|
+
expect(result).to have_key('player_xp_needed_current_level')
|
74
83
|
end
|
75
84
|
|
76
|
-
it '
|
77
|
-
|
78
|
-
.should have_key 'player_xp_needed_to_level_up'
|
85
|
+
it 'returns the xp a player needs to reach next level' do
|
86
|
+
expect(result).to have_key('player_xp_needed_to_level_up')
|
79
87
|
end
|
80
88
|
end
|
81
89
|
|
82
90
|
describe '.community_badge_progress' do
|
83
|
-
|
84
|
-
|
85
|
-
|
91
|
+
let(:result) { Steam::Player.community_badge_progress(playerid) }
|
92
|
+
|
93
|
+
it 'allows a user to retrieve community badge info for a player' do
|
94
|
+
expect(result).to_not be_nil
|
95
|
+
end
|
96
|
+
|
97
|
+
it 'returns a list of quests' do
|
98
|
+
expect(result).to be_a(Array)
|
86
99
|
end
|
87
100
|
|
88
|
-
it '
|
89
|
-
|
90
|
-
|
91
|
-
quest.should have_key 'completed'
|
101
|
+
it 'returns a list of quests with ids and completion status' do
|
102
|
+
expect(result.first).to have_key('questid')
|
103
|
+
expect(result.first).to have_key('completed')
|
92
104
|
end
|
93
105
|
end
|
94
106
|
end
|