bnet 0.0.5 → 0.0.10

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.
@@ -0,0 +1,123 @@
1
+ require 'spec_helper'
2
+
3
+ shared_examples_for "memoized WoW character scope" do
4
+ it 'memoizes character scope calls' do
5
+ client = instance_double('Bnet::WOW')
6
+ expect(Bnet::WOW).to receive(:new).and_return(client).exactly(:once)
7
+ expect(client).to receive(:scoped).exactly(:once).and_return([1,2,3])
8
+ subject.send(scope)
9
+ subject.send(scope)
10
+ end
11
+ end
12
+
13
+ describe Bnet::WOW::Character do
14
+
15
+ context "Alexeistukov character" do
16
+ subject(:character) { described_class.new(region: 'us', realm: 'Dragonmaw', name: 'Alexeistukov')}
17
+
18
+ describe "#achievements", vcr: {cassette_name: 'WoW Alexeistukov achievements'} do
19
+ it { expect(subject.achievements).to_not be_empty }
20
+ it_behaves_like 'memoized WoW character scope' do
21
+ let(:scope) {'achievements'}
22
+ end
23
+ end
24
+
25
+ describe "#appearance", vcr: {cassette_name: 'WoW Alexeistukov Appearance'} do
26
+ it { expect(subject.appearance).to_not be_empty }
27
+ it_behaves_like 'memoized WoW character scope' do
28
+ let(:scope) {'appearance'}
29
+ end
30
+ end
31
+
32
+ describe "#feed", vcr: {cassette_name: 'WoW Alexeistukov Feed'} do
33
+ it { expect(subject.feed).to_not be_empty }
34
+ it_behaves_like 'memoized WoW character scope' do
35
+ let(:scope) {'feed'}
36
+ end
37
+ end
38
+
39
+ describe "#guild", vcr: {cassette_name: 'WoW Alexeistukov Guild'} do
40
+ it { expect(subject.guild).to_not be_empty }
41
+ it_behaves_like 'memoized WoW character scope' do
42
+ let(:scope) {'guild'}
43
+ end
44
+ end
45
+
46
+ describe "#hunter_pets", vcr: {cassette_name: 'WoW Alexeistukov Hunter Pets'} do
47
+ it { expect(subject.hunter_pets).to be_nil }
48
+ it_behaves_like 'memoized WoW character scope' do
49
+ let(:scope) {'hunter_pets'}
50
+ end
51
+ end
52
+
53
+ describe "#items", vcr: {cassette_name: 'WoW Alexeistukov Items'} do
54
+ it { expect(subject.items).to_not be_empty }
55
+ it_behaves_like 'memoized WoW character scope' do
56
+ let(:scope) {'items'}
57
+ end
58
+ end
59
+
60
+ describe "#mounts", vcr: {cassette_name: 'WoW Alexeistukov Mounts'} do
61
+ it { expect(subject.mounts).to_not be_empty }
62
+ it_behaves_like 'memoized WoW character scope' do
63
+ let(:scope) {'mounts'}
64
+ end
65
+ end
66
+
67
+ describe "#pets", vcr: {cassette_name: 'WoW Alexeistukov Pets'} do
68
+ it { expect(subject.pets).to_not be_empty }
69
+ it_behaves_like 'memoized WoW character scope' do
70
+ let(:scope) {'pets'}
71
+ end
72
+ end
73
+
74
+ describe "#pet_slots", vcr: {cassette_name: 'WoW Alexeistukov Pet Slots'} do
75
+ it { expect(subject.pet_slots).to_not be_empty }
76
+ it_behaves_like 'memoized WoW character scope' do
77
+ let(:scope) {'pet_slots'}
78
+ end
79
+ end
80
+
81
+ describe "#progression", vcr: {cassette_name: 'WoW Alexeistukov Progression'} do
82
+ it { expect(subject.progression).to_not be_empty }
83
+ it_behaves_like 'memoized WoW character scope' do
84
+ let(:scope) {'progression'}
85
+ end
86
+ end
87
+
88
+ describe "#pvp", vcr: {cassette_name: 'WoW Alexeistukov PVP'} do
89
+ it { expect(subject.pvp).to_not be_empty }
90
+ it_behaves_like 'memoized WoW character scope' do
91
+ let(:scope) {'pvp'}
92
+ end
93
+ end
94
+
95
+ describe "#reputation", vcr: {cassette_name: 'wow alexeistukov Reputation'} do
96
+ it { expect(subject.reputation).to_not be_empty }
97
+ it_behaves_like 'memoized WoW character scope' do
98
+ let(:scope) {'reputation'}
99
+ end
100
+ end
101
+
102
+ describe "#stats", vcr: {cassette_name: 'WoW Alexeistukov Stats'} do
103
+ it { expect(subject.stats).to_not be_empty }
104
+ it_behaves_like 'memoized WoW character scope' do
105
+ let(:scope) {'stats'}
106
+ end
107
+ end
108
+
109
+ describe "#talents", vcr: {cassette_name: 'WoW Alexeistukov Talents'} do
110
+ it { expect(subject.talents).to_not be_empty }
111
+ it_behaves_like 'memoized WoW character scope' do
112
+ let(:scope) {'talents'}
113
+ end
114
+ end
115
+
116
+ describe "#audit", vcr: {cassette_name: 'WoW Alexeistukov Audit'} do
117
+ it { expect(subject.audit).to_not be_empty }
118
+ it_behaves_like 'memoized WoW character scope' do
119
+ let(:scope) {'audit'}
120
+ end
121
+ end
122
+ end
123
+ end
@@ -1,7 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Bnet::WOW::Character do
4
-
5
4
  describe ".from_api" do
6
5
  let(:attrs) {
7
6
  {
@@ -40,14 +39,15 @@ describe Bnet::WOW::Character do
40
39
  it "returns the instance" do
41
40
  expect(subject).to be_a_kind_of(described_class)
42
41
  expect(subject.name).to eq("Alexeistukov")
42
+ expect(subject.realm).to eq("Dragonmaw")
43
+ expect(subject.region).to eq("us")
43
44
  end
44
45
  end
45
46
 
46
47
  context "specified character does not exist on the server", vcr: {cassette_name: 'wow_character_not_found'} do
47
48
  let(:attrs){
48
49
  {
49
- region: 'us', name: 'NotHereYo', realm: 'Dragonmaw',
50
- key: VCR::SECRETS["api_key"]
50
+ region: 'us', name: 'NotHereYo', realm: 'Dragonmaw'
51
51
  }
52
52
  }
53
53
  it { is_expected.to be_nil }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bnet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Buddy Magsipoc
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-11 00:00:00.000000000 Z
11
+ date: 2014-09-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -216,6 +216,20 @@ files:
216
216
  - fixtures/cassettes/SC2_Matches_for_Naniwa_Profile_found.yml
217
217
  - fixtures/cassettes/SC2_Naniwa_ladder_profile_found.yml
218
218
  - fixtures/cassettes/SC2_Naniwa_profile_found.yml
219
+ - fixtures/cassettes/WoW_Alexeistukov_Appearance.yml
220
+ - fixtures/cassettes/WoW_Alexeistukov_Audit.yml
221
+ - fixtures/cassettes/WoW_Alexeistukov_Feed.yml
222
+ - fixtures/cassettes/WoW_Alexeistukov_Guild.yml
223
+ - fixtures/cassettes/WoW_Alexeistukov_Hunter_Pets.yml
224
+ - fixtures/cassettes/WoW_Alexeistukov_Items.yml
225
+ - fixtures/cassettes/WoW_Alexeistukov_Mounts.yml
226
+ - fixtures/cassettes/WoW_Alexeistukov_PVP.yml
227
+ - fixtures/cassettes/WoW_Alexeistukov_Pet_Slots.yml
228
+ - fixtures/cassettes/WoW_Alexeistukov_Pets.yml
229
+ - fixtures/cassettes/WoW_Alexeistukov_Progression.yml
230
+ - fixtures/cassettes/WoW_Alexeistukov_Stats.yml
231
+ - fixtures/cassettes/WoW_Alexeistukov_Talents.yml
232
+ - fixtures/cassettes/WoW_Alexeistukov_achievements.yml
219
233
  - fixtures/cassettes/diablo_hero_found.yml
220
234
  - fixtures/cassettes/diablo_hero_notf_found.yml
221
235
  - fixtures/cassettes/diablo_hero_reload.yml
@@ -223,6 +237,8 @@ files:
223
237
  - fixtures/cassettes/find_diablo_career_player_one_.yml
224
238
  - fixtures/cassettes/sc2_profile_found.yml
225
239
  - fixtures/cassettes/sc2_profile_not_found.yml
240
+ - fixtures/cassettes/wow_alexeistukov_Quests.yml
241
+ - fixtures/cassettes/wow_alexeistukov_Reputation.yml
226
242
  - fixtures/cassettes/wow_character_found.yml
227
243
  - fixtures/cassettes/wow_character_not_found.yml
228
244
  - fixtures/cassettes/wow_data_battlegroups_all.yml
@@ -263,6 +279,7 @@ files:
263
279
  - spec/bnet/starcraft2/ladder_spec.rb
264
280
  - spec/bnet/starcraft2/match_spec.rb
265
281
  - spec/bnet/starcraft2/profile_spec.rb
282
+ - spec/bnet/wow/character_scope_spec.rb
266
283
  - spec/bnet/wow/character_spec.rb
267
284
  - spec/bnet/wow/data/base_spec.rb
268
285
  - spec/bnet/wow/data/battlegroup_spec.rb
@@ -309,6 +326,7 @@ test_files:
309
326
  - spec/bnet/starcraft2/ladder_spec.rb
310
327
  - spec/bnet/starcraft2/match_spec.rb
311
328
  - spec/bnet/starcraft2/profile_spec.rb
329
+ - spec/bnet/wow/character_scope_spec.rb
312
330
  - spec/bnet/wow/character_spec.rb
313
331
  - spec/bnet/wow/data/base_spec.rb
314
332
  - spec/bnet/wow/data/battlegroup_spec.rb