more specs
This commit is contained in:
@@ -1,38 +1,68 @@
|
||||
require 'spec_helper'
|
||||
require 'json'
|
||||
|
||||
module Sightstone
|
||||
describe RankedStats do
|
||||
|
||||
before :each do
|
||||
stats = [{"id" => 1, "stats"=> {"Stat1" => 1, "Stat2" => 2}}, {"id" => 2, "stats"=> {"Stat1" => 1, "Stat2" => 2}}]
|
||||
@rs = RankedStats.new({"summonerId" => 1, "modifyDate" => 1, "champions" => stats })
|
||||
end
|
||||
|
||||
it "should have a summoner id" do
|
||||
@rs.summonerId.should eql 1
|
||||
end
|
||||
|
||||
it "should have a modification date" do
|
||||
@rs.modifyDate.should eql 1
|
||||
end
|
||||
|
||||
it "should have an array of champion stats" do
|
||||
@rs.champions.should be_an_instance_of Hash
|
||||
@rs.champions.should have(2).items
|
||||
@rs.champions.each do |key, hash|
|
||||
key.should be_a_kind_of Fixnum
|
||||
hash.should be_an_instance_of Hash
|
||||
hash.each do |stat, value|
|
||||
stat.should be_an_instance_of String
|
||||
value.should be_a_kind_of Fixnum
|
||||
end
|
||||
end
|
||||
before :all do
|
||||
response_mockup = JSON.parse('{"modifyDate": 1395302832000,"champions": [{"id": 32,"stats": {"totalDeathsPerSession": 9,"totalSessionsPlayed": 2,"totalDamageTaken": 61928,"totalQuadraKills": 0,
|
||||
"totalTripleKills": 0,"totalMinionKills": 123,"maxChampionsKilled": 5,"totalDoubleKills": 0,"totalPhysicalDamageDealt": 46675,"totalChampionKills": 6,"totalAssists": 14,
|
||||
"mostChampionKillsPerSession": 5,"totalDamageDealt": 321647,"totalFirstBlood": 0,"totalSessionsLost": 2,"totalSessionsWon": 0,"totalMagicDamageDealt": 235049,
|
||||
"totalGoldEarned": 20974,"totalPentaKills": 0,"totalTurretsKilled": 0,"mostSpellsCast": 0,"maxNumDeaths": 6,"totalUnrealKills": 0},"name": "Amumu"},
|
||||
{"id": 1,"stats": {"totalDeathsPerSession": 62,"totalSessionsPlayed": 10,"totalDamageTaken": 143058,"totalQuadraKills": 0,"totalTripleKills": 0,
|
||||
"totalMinionKills": 482,"maxChampionsKilled": 6,"totalDoubleKills": 1,"totalPhysicalDamageDealt": 59834,"totalChampionKills": 23,"totalAssists": 88,
|
||||
"mostChampionKillsPerSession": 6,"totalDamageDealt": 432245,"totalFirstBlood": 0,"totalSessionsLost": 7,"totalSessionsWon": 3,"totalMagicDamageDealt": 370212,
|
||||
"totalGoldEarned": 84267,"totalPentaKills": 0,"totalTurretsKilled": 3,"mostSpellsCast": 0,"maxNumDeaths": 11,"totalUnrealKills": 0},"name": "Annie"},
|
||||
{"id": 0,"stats": {"totalDamageTaken": 3097057,"totalTripleKills": 8,"totalMinionKills": 10853,"maxChampionsKilled": 17,
|
||||
"maxLargestCriticalStrike": 1121,"totalChampionKills": 690,"totalPhysicalDamageDealt": 6284046,
|
||||
"rankedPremadeGamesPlayed": 0,"totalSessionsLost": 68,"totalNeutralMinionsKilled": 4342,
|
||||
"totalSessionsWon": 63,"totalMagicDamageDealt": 6696776,"maxLargestKillingSpree": 8,"totalPentaKills": 0,
|
||||
"maxTimeSpentLiving": 1731,"totalDeathsPerSession": 701,"totalQuadraKills": 1,"totalSessionsPlayed": 131,
|
||||
"totalDoubleKills": 49,"totalAssists": 1157,"maxTimePlayed": 3158,"mostChampionKillsPerSession": 17,
|
||||
"totalDamageDealt": 13820857,"botGamesPlayed": 0,"killingSpree": 320,"totalFirstBlood": 0,"rankedSoloGamesPlayed": 0,
|
||||
"totalHeal": 800579,"totalGoldEarned": 1423092,"mostSpellsCast": 0,"totalTurretsKilled": 99,"maxNumDeaths": 11,
|
||||
"totalUnrealKills": 0,"normalGamesPlayed": 0},"name": "Combined"}],"summonerId": 12345}')
|
||||
@rs = RankedStats.new(response_mockup)
|
||||
end
|
||||
|
||||
describe "#new" do
|
||||
it "should create a ranked stats obejct" do
|
||||
@rs.should be_an_instance_of RankedStats
|
||||
end
|
||||
|
||||
it "should have a modification date" do
|
||||
@rs.modifyDate.should be_a_kind_of Fixnum
|
||||
end
|
||||
|
||||
it "should have a summoner id" do
|
||||
@rs.summonerId.should be_a_kind_of Fixnum
|
||||
end
|
||||
end
|
||||
|
||||
describe "#champions" do
|
||||
it "should have combined statsitics" do
|
||||
@rs.champions[0].should be_an_instance_of Hash
|
||||
end
|
||||
|
||||
it "should have some champion dependent statistic" do
|
||||
@rs.champions.should be_a_kind_of Hash
|
||||
@rs.champions.should have_at_least(1).items
|
||||
@rs.champions[32].should be_a_kind_of Hash
|
||||
end
|
||||
end
|
||||
|
||||
describe "#get_statistics_by_name" do
|
||||
it "should return combined stats for attr 'Combined'" do
|
||||
@rs.get_statistics_by_name('Combined').should eql @rs.champions[0]
|
||||
end
|
||||
|
||||
it "should return champions statistics for champion name" do
|
||||
@rs.get_statistics_by_name("Annie").should eql @rs.champions[1]
|
||||
end
|
||||
|
||||
it "should return nil if champion name is not in the stats" do
|
||||
@rs.get_statistics_by_name("asdf").should be_nil
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user