require 'helper' describe Bearcat::Client::Groups do before do @client = Bearcat::Client.new(prefix: "http://canvas.instructure.com", token: "test_token") end it "returns course groups" do stub_get(@client, "/api/v1/courses/1/groups").to_return(json_response("course_groups.json")) groups = @client.course_groups(1) groups.count.should == 2 groups.first['name'].should == 'group 1' groups.last['id'].should == 4 end it "returns account groups" do stub_get(@client, "/api/v1/accounts/1/groups").to_return(json_response("account_groups.json")) groups = @client.account_groups(1) groups.count.should == 2 groups.first['name'].should == '2010' groups.last['id'].should == 3 end it "returns a single group" do stub_get(@client, "/api/v1/groups/3").to_return(json_response("group.json")) group = @client.group(3) group['name'].should == 'group 1' group['id'].should == 3 end it "creates a group" do name = 'created group 1' stub_post(@client, "/api/v1/group_categories/2/groups").with(body: { name: name }).to_return(json_response("created_group.json")) created_group = @client.create_group(2, { name: name }) created_group['name'] == 'created group 1' created_group['context_type'] == 'Course' created_group['group_category']['id'] == 2 end end