bearcat 1.2.9 → 1.2.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 906cad6cbd9beac6affbfeee6406a569017fa344
4
- data.tar.gz: 7a2b5c2b486d47c3b64a7373c2a754e94149952b
3
+ metadata.gz: 6dd0eba0f8359c89b5593fe041e7410245223dc7
4
+ data.tar.gz: cc5612e0759bb326464fea939c9e27205d01fe69
5
5
  SHA512:
6
- metadata.gz: 630d46c5c5d62ae5521f493f5a30711c24a364dcfe6750491ce987a4fd12bdc6b6d069df22d19881b45c7ba037f198be68cee66cc8942e34c1c62ad468e32837
7
- data.tar.gz: 1f62d2c82c1fbd673e4954d1e1470fe33cb9f29f8a490b7f8e71606fae19d1b705850e6854d29a24c498351b808c5d2849aaa0a5ee219e594cfbd5d4ff51c7e4
6
+ metadata.gz: 120a6cfa98faf0f14c0c34664a8f12db7fd0a5531aae29013313edc6892edc97faa38deb070e38fa37fd4140e8814370fc87c55a8cafe4a37668d52ffa354540
7
+ data.tar.gz: 9fc6087b49de5874520b5936f8448a4b465fe8b9c23af162076d395cf56e4e9abfa10c77c255f27382cba3ed694da84c13280a47b9ec24f97719be9a23c71203
@@ -6,6 +6,13 @@ module Bearcat
6
6
  get("/api/v1/#{context}/#{id}/group_categories")
7
7
  end
8
8
 
9
+ def group_category(id)
10
+ get("/api/v1/group_categories/#{id}")
11
+ end
12
+
13
+ def create_group_category(context, id, params={})
14
+ post("/api/v1/#{context}/#{id}/group_categories", params)
15
+ end
9
16
  end
10
17
  end
11
18
  end
@@ -6,6 +6,10 @@ module Bearcat
6
6
  get("/api/v1/groups/#{group.to_s}/memberships")
7
7
  end
8
8
 
9
+ def create_group_membership(group_id, params={})
10
+ post("/api/v1/groups/#{group_id}/memberships", params)
11
+ end
12
+
9
13
  end
10
14
  end
11
15
  end
@@ -10,6 +10,13 @@ module Bearcat
10
10
  get("/api/v1/accounts/#{account_id}/groups")
11
11
  end
12
12
 
13
+ def group(id)
14
+ get("/api/v1/groups/#{id}")
15
+ end
16
+
17
+ def create_group(group_category_id, params={})
18
+ post("/api/v1/group_categories/#{group_category_id}/groups", params)
19
+ end
13
20
  end
14
21
  end
15
22
  end
@@ -1,3 +1,3 @@
1
1
  module Bearcat
2
- VERSION = '1.2.9' unless defined?(Bearcat::VERSION)
2
+ VERSION = '1.2.10' unless defined?(Bearcat::VERSION)
3
3
  end
@@ -13,4 +13,19 @@ describe Bearcat::Client::GroupCategories do
13
13
  categories.last['name'].should == 'test group'
14
14
  end
15
15
 
16
+ it 'returns a single group category' do
17
+ stub_get(@client, "/api/v1/group_categories/2").to_return(json_response("group_category.json"))
18
+ category = @client.group_category(2)
19
+ category['name'].should == 'mark red'
20
+ category['id'].should == 5
21
+ end
22
+
23
+ it 'creates a new group category' do
24
+ name = "new group category"
25
+ stub_post(@client, "/api/v1/courses/1/group_categories").with(body: {"name" => name}).to_return(json_response("created_group_category.json"))
26
+ group_category = @client.create_group_category('courses', 1, { name: name })
27
+ group_category["name"].should == name
28
+ group_category["id"].should == 1
29
+ end
30
+
16
31
  end
@@ -20,4 +20,20 @@ describe Bearcat::Client::Groups do
20
20
  groups.first['name'].should == '2010'
21
21
  groups.last['id'].should == 3
22
22
  end
23
+
24
+ it "returns a single group" do
25
+ stub_get(@client, "/api/v1/groups/3").to_return(json_response("group.json"))
26
+ group = @client.group(3)
27
+ group['name'].should == 'group 1'
28
+ group['id'].should == 3
29
+ end
30
+
31
+ it "creates a group" do
32
+ name = 'created group 1'
33
+ stub_post(@client, "/api/v1/group_categories/2/groups").with(body: { name: name }).to_return(json_response("created_group.json"))
34
+ created_group = @client.create_group(2, { name: name })
35
+ created_group['name'] == 'created group 1'
36
+ created_group['context_type'] == 'Course'
37
+ created_group['group_category']['id'] == 2
38
+ end
23
39
  end
@@ -0,0 +1,17 @@
1
+ require 'helper'
2
+
3
+ describe Bearcat::Client::GroupMemberships do
4
+ before do
5
+ @client = Bearcat::Client.new(prefix: "http://canvas.instructure.com", token: "test_token")
6
+ end
7
+
8
+ it "creates a group membership" do
9
+ stub_post(@client, "/api/v1/groups/3/memberships").with(:body => {"user_id"=>"6"}).to_return(json_response("created_group_membership.json"))
10
+ created_group_membership = @client.create_group_membership(3, { user_id: 6 })
11
+ created_group_membership['id'] == 14
12
+ created_group_membership['group_id'] == 3
13
+ created_group_membership['workflow_state'] == 'accepted'
14
+ created_group_membership['user_id'] == 6
15
+ end
16
+ end
17
+
@@ -0,0 +1,37 @@
1
+ {
2
+ "id": 7,
3
+ "name": "created group 1",
4
+ "max_membership": null,
5
+ "is_public": false,
6
+ "join_level": "invitation_only",
7
+ "group_category_id": 2,
8
+ "description": null,
9
+ "members_count": 0,
10
+ "storage_quota_mb": 50,
11
+ "permissions": {
12
+ "create_discussion_topic": true,
13
+ "join": false,
14
+ "create_announcement": true
15
+ },
16
+ "context_type": "Course",
17
+ "course_id": 14,
18
+ "avatar_url": null,
19
+ "role": null,
20
+ "leader": null,
21
+ "users": [],
22
+ "group_category": {
23
+ "id": 2,
24
+ "name": "Group Category!!!!!",
25
+ "role": null,
26
+ "self_signup": null,
27
+ "group_limit": null,
28
+ "auto_leader": null,
29
+ "context_type": "Course",
30
+ "course_id": 14,
31
+ "protected": false,
32
+ "allows_multiple_memberships": false,
33
+ "is_member": false
34
+ },
35
+ "has_submission": false,
36
+ "concluded": false
37
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "id": 1,
3
+ "name": "new group category",
4
+ "role": null,
5
+ "self_signup": null,
6
+ "group_limit": null,
7
+ "auto_leader": null,
8
+ "context_type": "Course",
9
+ "course_id": 14,
10
+ "groups_count": 0,
11
+ "unassigned_users_count": 13,
12
+ "protected": false,
13
+ "allows_multiple_memberships": false,
14
+ "is_member": false
15
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "id": 14,
3
+ "group_id": 3,
4
+ "workflow_state": "accepted",
5
+ "user_id": 6,
6
+ "moderator": false,
7
+ "just_created": true
8
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "description": null,
3
+ "group_category_id": 2,
4
+ "id": 3,
5
+ "is_public": false,
6
+ "join_level": "invitation_only",
7
+ "name": "group 1",
8
+ "members_count": 0,
9
+ "storage_quota_mb": 50,
10
+ "context_type": "Course",
11
+ "course_id": 1,
12
+ "followed_by_user": false,
13
+ "avatar_url": null,
14
+ "role": null
15
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "auto_leader": "first",
3
+ "group_limit": null,
4
+ "id": 5,
5
+ "name": "mark red",
6
+ "role": null,
7
+ "self_signup": null,
8
+ "context_type": "Course",
9
+ "course_id": 1809,
10
+ "protected": false,
11
+ "allows_multiple_memberships": false,
12
+ "is_member": false
13
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bearcat
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.9
4
+ version: 1.2.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Mills, Jake Sorce
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-03 00:00:00.000000000 Z
11
+ date: 2016-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -167,6 +167,7 @@ files:
167
167
  - spec/bearcat/client/submissions_spec.rb
168
168
  - spec/bearcat/client/users_spec.rb
169
169
  - spec/bearcat/client_spec.rb
170
+ - spec/bearcat/group_memberships_spec.rb
170
171
  - spec/bearcat_spec.rb
171
172
  - spec/fixtures/access_token.json
172
173
  - spec/fixtures/account_admins.json
@@ -211,6 +212,9 @@ files:
211
212
  - spec/fixtures/create_section.json
212
213
  - spec/fixtures/created_assignment.json
213
214
  - spec/fixtures/created_course.json
215
+ - spec/fixtures/created_group.json
216
+ - spec/fixtures/created_group_category.json
217
+ - spec/fixtures/created_group_membership.json
214
218
  - spec/fixtures/custom_data.json
215
219
  - spec/fixtures/custom_food_data.json
216
220
  - spec/fixtures/delete_course.json
@@ -221,7 +225,9 @@ files:
221
225
  - spec/fixtures/department_level_statistics.json
222
226
  - spec/fixtures/enroll_student.json
223
227
  - spec/fixtures/enrollment_terms.json
228
+ - spec/fixtures/group.json
224
229
  - spec/fixtures/group_categories.json
230
+ - spec/fixtures/group_category.json
225
231
  - spec/fixtures/group_conferences.json
226
232
  - spec/fixtures/link_unlink_outcome.json
227
233
  - spec/fixtures/merge_user.json
@@ -279,7 +285,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
279
285
  version: '0'
280
286
  requirements: []
281
287
  rubyforge_project:
282
- rubygems_version: 2.4.3
288
+ rubygems_version: 2.5.1
283
289
  signing_key:
284
290
  specification_version: 4
285
291
  summary: Canvas API
@@ -313,6 +319,7 @@ test_files:
313
319
  - spec/bearcat/client/submissions_spec.rb
314
320
  - spec/bearcat/client/users_spec.rb
315
321
  - spec/bearcat/client_spec.rb
322
+ - spec/bearcat/group_memberships_spec.rb
316
323
  - spec/bearcat_spec.rb
317
324
  - spec/fixtures/access_token.json
318
325
  - spec/fixtures/account_admins.json
@@ -357,6 +364,9 @@ test_files:
357
364
  - spec/fixtures/create_section.json
358
365
  - spec/fixtures/created_assignment.json
359
366
  - spec/fixtures/created_course.json
367
+ - spec/fixtures/created_group.json
368
+ - spec/fixtures/created_group_category.json
369
+ - spec/fixtures/created_group_membership.json
360
370
  - spec/fixtures/custom_data.json
361
371
  - spec/fixtures/custom_food_data.json
362
372
  - spec/fixtures/delete_course.json
@@ -367,7 +377,9 @@ test_files:
367
377
  - spec/fixtures/department_level_statistics.json
368
378
  - spec/fixtures/enroll_student.json
369
379
  - spec/fixtures/enrollment_terms.json
380
+ - spec/fixtures/group.json
370
381
  - spec/fixtures/group_categories.json
382
+ - spec/fixtures/group_category.json
371
383
  - spec/fixtures/group_conferences.json
372
384
  - spec/fixtures/link_unlink_outcome.json
373
385
  - spec/fixtures/merge_user.json
@@ -406,4 +418,3 @@ test_files:
406
418
  - spec/fixtures/user_page_views.json
407
419
  - spec/fixtures/user_profile.json
408
420
  - spec/helper.rb
409
- has_rdoc: