badgeapi 0.3.10 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/.rubocop.yml +147 -0
- data/README.md +44 -12
- data/Rakefile +24 -11
- data/badgeapi.gemspec +23 -22
- data/lib/badgeapi/badge.rb +24 -27
- data/lib/badgeapi/badgeapi_object.rb +160 -147
- data/lib/badgeapi/collection.rb +6 -9
- data/lib/badgeapi/errors/api_error.rb +3 -4
- data/lib/badgeapi/errors/badgeapi_error.rb +15 -15
- data/lib/badgeapi/errors/invalid_request_error.rb +3 -4
- data/lib/badgeapi/recipient.rb +13 -16
- data/lib/badgeapi/version.rb +1 -1
- data/lib/badgeapi.rb +13 -15
- data/test/badge/badge_test.rb +71 -150
- data/test/badgeapi_test.rb +4 -0
- data/test/collection/collection_test.rb +43 -77
- data/test/fixtures/badge_all.yml +113 -0
- data/test/fixtures/{bad_api_key.yml → badge_all_bad_user.yml} +14 -13
- data/test/fixtures/{all_badges_bad_user.yml → badge_all_badges_bad_user.yml} +16 -57
- data/test/fixtures/badge_all_expanded.yml +184 -0
- data/test/fixtures/badge_all_from_collection.yml +52 -0
- data/test/fixtures/badge_all_issued.yml +99 -0
- data/test/fixtures/{all_badges_limited.yml → badge_all_limited.yml} +10 -8
- data/test/fixtures/{create_badge.yml → badge_create.yml} +20 -16
- data/test/fixtures/{create_new_badge_failure.yml → badge_create_new.yml} +28 -22
- data/test/fixtures/badge_destroy.yml +147 -0
- data/test/fixtures/badge_destroy_error.yml +147 -0
- data/test/fixtures/badge_error.yml +54 -6
- data/test/fixtures/{issue_badge_to_bad_user.yml → badge_issue_to_bad_user.yml} +8 -6
- data/test/fixtures/badge_issue_to_user.yml +107 -0
- data/test/fixtures/{issue_badge_to_user_with_library_card.yml → badge_issue_to_user_with_library_card.yml} +21 -17
- data/test/fixtures/{one_badge.yml → badge_one.yml} +10 -8
- data/test/fixtures/{one_badge_expanded.yml → badge_one_expanded.yml} +11 -9
- data/test/fixtures/badge_requirements.yml +150 -105
- data/test/fixtures/badge_revoke_from_user.yml +107 -0
- data/test/fixtures/{update_badge_via_update.yml → badge_update_via_update.yml} +31 -25
- data/test/fixtures/{update_badge_via_update_slug_history.yml → badge_update_via_update_slug_history.yml} +41 -33
- data/test/fixtures/{all_collection.yml → collection_all.yml} +11 -9
- data/test/fixtures/collection_all_expanded.yml +123 -0
- data/test/fixtures/{all_collection_limit.yml → collection_all_limit.yml} +10 -8
- data/test/fixtures/{create_collection.yml → collection_create.yml} +20 -16
- data/test/fixtures/{create_new_collection_failure.yml → collection_create_new_failure.yml} +36 -28
- data/test/fixtures/{destroy_collection.yml → collection_destroy.yml} +36 -28
- data/test/fixtures/{destroy_collection_error.yml → collection_destroy_error.yml} +36 -28
- data/test/fixtures/collection_error.yml +108 -12
- data/test/fixtures/{one_collection.yml → collection_one.yml} +10 -8
- data/test/fixtures/collection_one_expanded.yml +106 -0
- data/test/fixtures/{update_collection.yml → collection_update.yml} +40 -32
- data/test/fixtures/{update_collection_via_update.yml → collection_update_via_update.yml} +30 -24
- data/test/fixtures/{bad_Recipietn_request.yml → recipient_bad_user_data.yml} +26 -22
- data/test/fixtures/recipient_with_badges.yml +20 -108
- data/test/fixtures/recipient_with_badges_unicard.yml +151 -8
- data/test/recipient/recipient_test.rb +11 -29
- metadata +69 -73
- data/test/fixtures/all_badges.yml +0 -121
- data/test/fixtures/all_badges_expanded.yml +0 -196
- data/test/fixtures/all_badges_from_collection.yml +0 -52
- data/test/fixtures/all_badges_issued.yml +0 -430
- data/test/fixtures/all_collection_expanded.yml +0 -131
- data/test/fixtures/bad_Recipient.yml +0 -183
- data/test/fixtures/destroy_badge.yml +0 -277
- data/test/fixtures/destroy_badge_error.yml +0 -231
- data/test/fixtures/issue_already_owned_badge.yml +0 -49
- data/test/fixtures/issue_badge_to_user.yml +0 -199
- data/test/fixtures/one_collection_expanded.yml +0 -104
- data/test/fixtures/revoke_badge_from_user.yml +0 -199
- data/test/fixtures/revoke_badge_not_issued.yml +0 -49
data/test/badge/badge_test.rb
CHANGED
@@ -3,6 +3,10 @@ require './test/test_helper'
|
|
3
3
|
|
4
4
|
class BadgeapiBadgeTest < MiniTest::Test
|
5
5
|
|
6
|
+
Badgeapi.api_base = 'https://gamification-api.dev/v1'
|
7
|
+
Badgeapi.ssl_ca_cert='/Users/tomskarbek/.tunnelss/ca/cert.pem'
|
8
|
+
Badgeapi.api_key = "c9cde524238644fa93393159e5e9ad87"
|
9
|
+
|
6
10
|
def self.test_order
|
7
11
|
:alpha
|
8
12
|
end
|
@@ -20,163 +24,122 @@ class BadgeapiBadgeTest < MiniTest::Test
|
|
20
24
|
end
|
21
25
|
|
22
26
|
def test_it_returns_back_a_single_badge
|
23
|
-
VCR.use_cassette('
|
24
|
-
Badgeapi.api_key = "c9cde524238644fa93393159e5e9ad87"
|
25
|
-
|
27
|
+
VCR.use_cassette('badge_one') do
|
26
28
|
badge = Badgeapi::Badge.find(1)
|
27
29
|
assert_equal Badgeapi::Badge, badge.class
|
28
30
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
31
|
+
assert_kind_of String, badge.id
|
32
|
+
assert_kind_of String, badge.name
|
33
|
+
assert_kind_of String, badge.description
|
34
|
+
assert_kind_of String, badge.requirements
|
35
|
+
assert_kind_of String, badge.hint
|
36
|
+
assert_kind_of String, badge.image
|
37
|
+
assert_kind_of String, badge.collection_id
|
38
|
+
assert_kind_of String, badge.level
|
39
|
+
assert_kind_of Integer, badge.points
|
38
40
|
assert_equal false, badge.auto_issue
|
39
|
-
|
40
|
-
|
41
|
+
assert_kind_of String, badge.object
|
42
|
+
assert_kind_of String, badge.status
|
41
43
|
end
|
42
44
|
end
|
43
45
|
|
44
46
|
def test_it_returns_back_a_single_badge_expanded
|
45
|
-
VCR.use_cassette('
|
46
|
-
Badgeapi.api_key = "c9cde524238644fa93393159e5e9ad87"
|
47
|
-
|
47
|
+
VCR.use_cassette('badge_one_expanded') do
|
48
48
|
badge = Badgeapi::Badge.find(1, expand: "collection")
|
49
49
|
assert_equal Badgeapi::Badge, badge.class
|
50
50
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
51
|
+
assert_kind_of String, badge.id
|
52
|
+
assert_kind_of String, badge.name
|
53
|
+
assert_kind_of String, badge.description
|
54
|
+
assert_kind_of String, badge.requirements
|
55
|
+
assert_kind_of String, badge.hint
|
56
|
+
assert_kind_of String, badge.image
|
57
|
+
assert_kind_of String, badge.collection_id
|
58
58
|
|
59
59
|
assert_equal Badgeapi::Collection, badge.collection.class
|
60
|
-
|
60
|
+
assert_kind_of String, badge.collection.name
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
64
|
def test_it_returns_back_all_badges_issued_to_user
|
65
|
-
VCR.use_cassette('
|
66
|
-
Badgeapi.api_key = "c9cde524238644fa93393159e5e9ad87"
|
65
|
+
VCR.use_cassette('badge_all_issued') do
|
67
66
|
result = Badgeapi::Badge.all(user: "t.skarbek-wazynski@lancaster.ac.uk")
|
68
67
|
|
69
|
-
# Make sure we got all the badges
|
70
|
-
assert_equal 1, result.length
|
71
|
-
|
72
|
-
# Make sure that the JSON was parsed
|
73
68
|
assert result.kind_of?(Array)
|
74
69
|
assert result.first.kind_of?(Badgeapi::Badge)
|
75
70
|
|
76
71
|
result = Badgeapi::Badge.all(user: "0043181") #uni card number for t.skarbek-wazynski
|
77
72
|
|
78
|
-
# Make sure we got all the badges
|
79
|
-
assert_equal 1, result.length
|
80
|
-
|
81
|
-
# Make sure that the JSON was parsed
|
82
73
|
assert result.kind_of?(Array)
|
83
74
|
assert result.first.kind_of?(Badgeapi::Badge)
|
84
75
|
end
|
85
76
|
end
|
86
77
|
|
87
78
|
def test_it_raises_error_for_bad_user
|
88
|
-
VCR.use_cassette('
|
89
|
-
Badgeapi.api_key = "c9cde524238644fa93393159e5e9ad87"
|
79
|
+
VCR.use_cassette('badge_all_bad_user') do
|
90
80
|
assert_raises(Badgeapi::InvalidRequestError) { Badgeapi::Badge.all(user: "t.skarbek-wazynski") }
|
91
81
|
end
|
92
82
|
end
|
93
83
|
|
94
84
|
def test_it_raises_error_for_non_existing_user
|
95
|
-
VCR.use_cassette('
|
96
|
-
Badgeapi.api_key = "c9cde524238644fa93393159e5e9ad87"
|
85
|
+
VCR.use_cassette('badge_all_badges_bad_user') do
|
97
86
|
assert_raises(Badgeapi::InvalidRequestError) { Badgeapi::Badge.all(user: "t.skarbek-wazynsky@lancaster.ac.uk") }
|
98
87
|
assert_raises(Badgeapi::InvalidRequestError) { Badgeapi::Badge.all(user: "081897144451") }
|
99
88
|
end
|
100
89
|
end
|
101
90
|
|
102
91
|
def test_it_returns_back_all_badges
|
103
|
-
VCR.use_cassette('
|
104
|
-
Badgeapi.api_key = "c9cde524238644fa93393159e5e9ad87"
|
92
|
+
VCR.use_cassette('badge_all') do
|
105
93
|
result = Badgeapi::Badge.all
|
106
94
|
|
107
|
-
# Make sure we got all the badges
|
108
|
-
assert_equal 6, result.length
|
109
|
-
|
110
|
-
# Make sure that the JSON was parsed
|
111
95
|
assert result.kind_of?(Array)
|
112
96
|
assert result.first.kind_of?(Badgeapi::Badge)
|
113
97
|
end
|
114
98
|
end
|
115
99
|
|
116
100
|
def test_it_returns_back_all_badges_exapanded
|
117
|
-
VCR.use_cassette('
|
118
|
-
Badgeapi.api_key = "c9cde524238644fa93393159e5e9ad87"
|
101
|
+
VCR.use_cassette('badge_all_expanded') do
|
119
102
|
result = Badgeapi::Badge.all(expand: "collection")
|
120
103
|
|
121
|
-
# Make sure we got all the badges
|
122
|
-
assert_equal 6, result.length
|
123
|
-
|
124
|
-
# Make sure that the JSON was parsed
|
125
104
|
assert result.kind_of?(Array)
|
126
105
|
assert result.first.kind_of?(Badgeapi::Badge)
|
127
106
|
assert result.first.collection.kind_of?(Badgeapi::Collection)
|
128
|
-
|
129
|
-
#assert_not_nil result['collection']
|
130
107
|
end
|
131
108
|
end
|
132
109
|
|
133
110
|
def test_it_errors_all_badges_exapanded
|
134
|
-
VCR.use_cassette('
|
135
|
-
Badgeapi.api_key = "c9cde524238644fa93393159e5e9ad87"
|
136
|
-
|
111
|
+
VCR.use_cassette('badge_all_expanded') do
|
137
112
|
assert_raises(Badgeapi::InvalidRequestError) { Badgeapi::Badge.all(expand: "monkey") }
|
138
113
|
end
|
139
114
|
end
|
140
115
|
|
141
116
|
def test_it_returns_back_all_badges_from_collection
|
142
|
-
VCR.use_cassette('
|
143
|
-
Badgeapi.api_key = "c9cde524238644fa93393159e5e9ad87"
|
117
|
+
VCR.use_cassette('badge_all_from_collection') do
|
144
118
|
result = Badgeapi::Badge.all(collection_id: 2)
|
145
119
|
|
146
|
-
# Make sure we got all the badges
|
147
|
-
assert_equal 2, result.length
|
148
|
-
|
149
|
-
# Make sure that the JSON was parsed
|
150
120
|
assert result.kind_of?(Array)
|
151
121
|
assert result.first.kind_of?(Badgeapi::Badge)
|
152
122
|
end
|
153
123
|
end
|
154
124
|
|
155
125
|
def test_all_limit
|
156
|
-
VCR.use_cassette('
|
157
|
-
Badgeapi.api_key = "c9cde524238644fa93393159e5e9ad87"
|
126
|
+
VCR.use_cassette('badge_all_limited') do
|
158
127
|
result = Badgeapi::Badge.all(limit: 1)
|
159
128
|
|
160
|
-
# Make sure we got all the badges
|
161
129
|
assert_equal 1, result.length
|
162
|
-
|
163
|
-
# Make sure that the JSON was parsed
|
164
130
|
assert result.kind_of?(Array)
|
165
131
|
assert result.first.kind_of?(Badgeapi::Badge)
|
166
132
|
end
|
167
133
|
end
|
168
134
|
|
169
135
|
def test_badges_raise_errors
|
170
|
-
VCR.use_cassette('badge_error'
|
171
|
-
Badgeapi.
|
172
|
-
assert_raises(Badgeapi::InvalidRequestError) { Badgeapi::Badge.find(27) }
|
136
|
+
VCR.use_cassette('badge_error') do
|
137
|
+
assert_raises(Badgeapi::InvalidRequestError) { Badgeapi::Badge.find("safasuf2") }
|
173
138
|
end
|
174
139
|
end
|
175
140
|
|
176
141
|
def test_create_a_new_badge
|
177
|
-
VCR.use_cassette('
|
178
|
-
Badgeapi.api_key = 'c9cde524238644fa93393159e5e9ad87'
|
179
|
-
|
142
|
+
VCR.use_cassette('badge_create') do
|
180
143
|
badge = Badgeapi::Badge.create(
|
181
144
|
name: "Create Badge Test",
|
182
145
|
description: "This is a new badge",
|
@@ -192,8 +155,6 @@ class BadgeapiBadgeTest < MiniTest::Test
|
|
192
155
|
assert_equal "This is a new badge", badge.description
|
193
156
|
assert_equal "You need to love the Badge API", badge.requirements
|
194
157
|
assert_equal "Love us..", badge.hint
|
195
|
-
#assert_equal "http://example.org/badge.png", badge.image
|
196
|
-
assert_equal "library", badge.collection_id
|
197
158
|
assert_equal true, badge.auto_issue
|
198
159
|
|
199
160
|
Badgeapi::Badge.destroy(badge.id)
|
@@ -201,9 +162,7 @@ class BadgeapiBadgeTest < MiniTest::Test
|
|
201
162
|
end
|
202
163
|
|
203
164
|
def test_create_new_badge_failure
|
204
|
-
VCR.use_cassette('
|
205
|
-
Badgeapi.api_key = 'c9cde524238644fa93393159e5e9ad87'
|
206
|
-
|
165
|
+
VCR.use_cassette('badge_create_new') do
|
207
166
|
badge = Badgeapi::Badge.create(
|
208
167
|
name: "Create Badge Test Destroy",
|
209
168
|
description: "This is a new badge",
|
@@ -229,9 +188,7 @@ class BadgeapiBadgeTest < MiniTest::Test
|
|
229
188
|
end
|
230
189
|
|
231
190
|
def test_badge_destroy
|
232
|
-
VCR.use_cassette('
|
233
|
-
Badgeapi.api_key= 'c9cde524238644fa93393159e5e9ad87'
|
234
|
-
|
191
|
+
VCR.use_cassette('badge_destroy') do
|
235
192
|
badge = Badgeapi::Badge.create(
|
236
193
|
name: "Create Badge for Destroy",
|
237
194
|
description: "This is a new badge",
|
@@ -251,9 +208,7 @@ class BadgeapiBadgeTest < MiniTest::Test
|
|
251
208
|
end
|
252
209
|
|
253
210
|
def test_badge_destroy_error
|
254
|
-
VCR.use_cassette('
|
255
|
-
Badgeapi.api_key= 'c9cde524238644fa93393159e5e9ad87'
|
256
|
-
|
211
|
+
VCR.use_cassette('badge_destroy_error') do
|
257
212
|
badge = Badgeapi::Badge.create(
|
258
213
|
name: "Create Badge for Destroy",
|
259
214
|
description: "This is a new badge",
|
@@ -263,16 +218,14 @@ class BadgeapiBadgeTest < MiniTest::Test
|
|
263
218
|
level: "bronze"
|
264
219
|
)
|
265
220
|
|
266
|
-
|
221
|
+
Badgeapi::Badge.destroy(badge.id)
|
267
222
|
|
268
223
|
assert_raises(Badgeapi::InvalidRequestError) { Badgeapi::Badge.destroy(badge.id) }
|
269
224
|
end
|
270
225
|
end
|
271
226
|
|
272
227
|
def test_update_badge_via_update
|
273
|
-
VCR.use_cassette('
|
274
|
-
Badgeapi.api_key= 'c9cde524238644fa93393159e5e9ad87'
|
275
|
-
|
228
|
+
VCR.use_cassette('badge_update_via_update') do
|
276
229
|
badge = Badgeapi::Badge.create(
|
277
230
|
name: "Create Badge for update",
|
278
231
|
description: "This is a new badge",
|
@@ -287,7 +240,6 @@ class BadgeapiBadgeTest < MiniTest::Test
|
|
287
240
|
description: "Updated Description",
|
288
241
|
requirements: "Updated Requirements",
|
289
242
|
hint: "Updated Hint",
|
290
|
-
collection_id: "trim-trail",
|
291
243
|
status: "live",
|
292
244
|
)
|
293
245
|
|
@@ -295,7 +247,6 @@ class BadgeapiBadgeTest < MiniTest::Test
|
|
295
247
|
assert_equal "Updated Description", updated_badge.description
|
296
248
|
assert_equal "Updated Requirements", updated_badge.requirements
|
297
249
|
assert_equal "Updated Hint", updated_badge.hint
|
298
|
-
assert_equal "trim-trail", updated_badge.collection_id
|
299
250
|
assert_equal "live", updated_badge.status
|
300
251
|
|
301
252
|
Badgeapi::Badge.destroy(badge.id)
|
@@ -303,9 +254,7 @@ class BadgeapiBadgeTest < MiniTest::Test
|
|
303
254
|
end
|
304
255
|
|
305
256
|
def test_update_badge_via_update_with_slug_update_and_history
|
306
|
-
VCR.use_cassette('
|
307
|
-
Badgeapi.api_key= 'c9cde524238644fa93393159e5e9ad87'
|
308
|
-
|
257
|
+
VCR.use_cassette('badge_update_via_update_slug_history') do
|
309
258
|
badge = Badgeapi::Badge.create(
|
310
259
|
name: "Create Badge for update",
|
311
260
|
description: "This is a new badge",
|
@@ -323,7 +272,6 @@ class BadgeapiBadgeTest < MiniTest::Test
|
|
323
272
|
description: "Updated Description",
|
324
273
|
requirements: "Updated Requirements",
|
325
274
|
hint: "Updated Hint",
|
326
|
-
collection_id: "trim-trail"
|
327
275
|
)
|
328
276
|
|
329
277
|
assert_equal "updated-badge", updated_badge.id
|
@@ -331,7 +279,6 @@ class BadgeapiBadgeTest < MiniTest::Test
|
|
331
279
|
assert_equal "Updated Description", updated_badge.description
|
332
280
|
assert_equal "Updated Requirements", updated_badge.requirements
|
333
281
|
assert_equal "Updated Hint", updated_badge.hint
|
334
|
-
assert_equal "trim-trail", updated_badge.collection_id
|
335
282
|
|
336
283
|
using_old_slug = Badgeapi::Badge.find(badge.id)
|
337
284
|
|
@@ -342,15 +289,12 @@ class BadgeapiBadgeTest < MiniTest::Test
|
|
342
289
|
end
|
343
290
|
|
344
291
|
def test_should_issue_badge_with_email
|
345
|
-
VCR.use_cassette('
|
346
|
-
Badgeapi.api_key= 'c9cde524238644fa93393159e5e9ad87'
|
347
|
-
|
292
|
+
VCR.use_cassette('badge_issue_to_user') do
|
348
293
|
recipient = Badgeapi::Badge.issue(
|
349
294
|
"mega-book-worm",
|
350
295
|
recipient: "t.skarbek-wazynski@lancaster.ac.uk"
|
351
296
|
)
|
352
297
|
|
353
|
-
assert_equal 2, recipient.badges.length
|
354
298
|
assert recipient.kind_of?(Badgeapi::Recipient)
|
355
299
|
assert recipient.badges.first.kind_of?(Badgeapi::Badge)
|
356
300
|
|
@@ -358,44 +302,32 @@ class BadgeapiBadgeTest < MiniTest::Test
|
|
358
302
|
"mega-book-worm",
|
359
303
|
recipient: "t.skarbek-wazynski@lancaster.ac.uk"
|
360
304
|
)
|
361
|
-
|
362
|
-
assert_equal 1, recipient.badges.length
|
363
305
|
end
|
364
306
|
end
|
365
307
|
|
366
308
|
def test_should_revoke_badge_with_email
|
367
|
-
VCR.use_cassette('
|
368
|
-
Badgeapi.api_key= 'c9cde524238644fa93393159e5e9ad87'
|
369
|
-
|
309
|
+
VCR.use_cassette('badge_revoke_from_user') do
|
370
310
|
recipient = Badgeapi::Badge.issue(
|
371
311
|
"mega-book-worm",
|
372
312
|
recipient: "t.skarbek-wazynski@lancaster.ac.uk"
|
373
313
|
)
|
374
314
|
|
375
|
-
assert_equal 2, recipient.badges.length
|
376
|
-
|
377
315
|
recipient = Badgeapi::Badge.revoke(
|
378
316
|
"mega-book-worm",
|
379
317
|
recipient: "t.skarbek-wazynski@lancaster.ac.uk"
|
380
318
|
)
|
381
319
|
|
382
|
-
assert_equal 1, recipient.badges.length
|
383
320
|
assert recipient.kind_of?(Badgeapi::Recipient)
|
384
|
-
assert recipient.badges.first.kind_of?(Badgeapi::Badge)
|
385
321
|
end
|
386
322
|
end
|
387
323
|
|
388
324
|
def test_should_issue_badge_with_library_card
|
389
|
-
VCR.use_cassette('
|
390
|
-
Badgeapi.api_key= 'c9cde524238644fa93393159e5e9ad87'
|
391
|
-
|
325
|
+
VCR.use_cassette('badge_issue_to_user_with_library_card') do
|
392
326
|
recipient = Badgeapi::Badge.issue(
|
393
327
|
3,
|
394
328
|
recipient: "0043181"
|
395
329
|
)
|
396
330
|
|
397
|
-
|
398
|
-
assert_equal 2, recipient.badges.length
|
399
331
|
assert recipient.kind_of?(Badgeapi::Recipient)
|
400
332
|
assert recipient.badges.first.kind_of?(Badgeapi::Badge)
|
401
333
|
|
@@ -403,15 +335,11 @@ class BadgeapiBadgeTest < MiniTest::Test
|
|
403
335
|
3,
|
404
336
|
recipient: "0043181"
|
405
337
|
)
|
406
|
-
|
407
|
-
assert_equal 1, recipient.badges.length
|
408
338
|
end
|
409
339
|
end
|
410
340
|
|
411
341
|
def test_should_error_when_user_param_is_bad
|
412
|
-
VCR.use_cassette('
|
413
|
-
Badgeapi.api_key= 'c9cde524238644fa93393159e5e9ad87'
|
414
|
-
|
342
|
+
VCR.use_cassette('badge_issue_to_bad_user') do
|
415
343
|
assert_raises(Badgeapi::InvalidRequestError) {
|
416
344
|
Badgeapi::Badge.issue(
|
417
345
|
2,
|
@@ -421,49 +349,42 @@ class BadgeapiBadgeTest < MiniTest::Test
|
|
421
349
|
end
|
422
350
|
end
|
423
351
|
|
424
|
-
def test_should_error_when_issuing_bad_already_issued
|
425
|
-
VCR.use_cassette('issue_already_owned_badge', :record => :all) do
|
426
|
-
Badgeapi.api_key= 'c9cde524238644fa93393159e5e9ad87'
|
427
|
-
|
428
|
-
assert_raises(Badgeapi::InvalidRequestError) {
|
429
|
-
Badgeapi::Badge.issue(
|
430
|
-
1,
|
431
|
-
recipient: "t.skarbek-wazynski@lancaster.ac.uk"
|
432
|
-
)
|
433
|
-
}
|
434
|
-
end
|
435
|
-
end
|
436
|
-
|
437
|
-
def test_should_error_when_revoking_badge_not_owned
|
438
|
-
VCR.use_cassette('revoke_badge_not_issued', :record => :all) do
|
439
|
-
Badgeapi.api_key= 'c9cde524238644fa93393159e5e9ad87'
|
440
|
-
|
441
|
-
assert_raises(Badgeapi::InvalidRequestError) {
|
442
|
-
Badgeapi::Badge.revoke(
|
443
|
-
3,
|
444
|
-
recipient: "t.skarbek-wazynski@lancaster.ac.uk"
|
445
|
-
)
|
446
|
-
}
|
447
|
-
end
|
448
|
-
end
|
449
|
-
|
450
352
|
def test_badge_requirements
|
451
|
-
VCR.use_cassette('badge_requirements'
|
452
|
-
Badgeapi.
|
353
|
+
VCR.use_cassette('badge_requirements') do
|
354
|
+
badge = Badgeapi::Badge.create(
|
355
|
+
name: "Create Badge",
|
356
|
+
description: "This is a new badge",
|
357
|
+
requirements: "You need to love the Badge API",
|
358
|
+
hint: "Love us..",
|
359
|
+
collection_id: 1,
|
360
|
+
level: "silver"
|
361
|
+
)
|
362
|
+
|
363
|
+
required_badge = Badgeapi::Badge.create(
|
364
|
+
name: "Required Badge",
|
365
|
+
description: "This is a new badge",
|
366
|
+
requirements: "You need to love the Badge API",
|
367
|
+
hint: "Love us..",
|
368
|
+
collection_id: 1,
|
369
|
+
level: "bronze"
|
370
|
+
)
|
453
371
|
|
454
|
-
badge = Badgeapi::Badge.find("marathon-man")
|
455
372
|
|
456
373
|
required_count = badge.required_badges.count
|
457
374
|
|
458
|
-
badge = Badgeapi::Badge.add_badge_requirement(
|
375
|
+
badge = Badgeapi::Badge.add_badge_requirement(badge.id, required_badge.id)
|
459
376
|
|
460
377
|
assert_equal required_count + 1, badge.required_badges.count
|
461
378
|
assert_equal Badgeapi::Badge, badge.required_badges.first.class
|
462
379
|
|
463
|
-
badge = Badgeapi::Badge.remove_badge_requirement(
|
380
|
+
badge = Badgeapi::Badge.remove_badge_requirement(badge.id, required_badge.id)
|
464
381
|
|
465
382
|
assert_equal required_count, badge.required_badges.count
|
383
|
+
|
384
|
+
Badgeapi::Badge.destroy(badge.id)
|
385
|
+
Badgeapi::Badge.destroy(required_badge.id)
|
386
|
+
|
466
387
|
end
|
467
388
|
end
|
468
389
|
|
469
|
-
end
|
390
|
+
end
|
data/test/badgeapi_test.rb
CHANGED
@@ -3,6 +3,10 @@ require './test/test_helper'
|
|
3
3
|
|
4
4
|
class BadgeapiTest < MiniTest::Test
|
5
5
|
|
6
|
+
Badgeapi.api_base = 'https://gamification-api.dev/v1'
|
7
|
+
Badgeapi.ssl_ca_cert='/Users/tomskarbek/.tunnelss/ca/cert.pem'
|
8
|
+
Badgeapi.api_key = "c9cde524238644fa93393159e5e9ad87"
|
9
|
+
|
6
10
|
def test_api_url
|
7
11
|
assert_equal Badgeapi.api_url, 'https://gamification-api.dev/v1'
|
8
12
|
end
|