Sha256: 4c6bbccfb0f30c9c2ff1cfc49643717d9a14f02ef7ac47da71233d596e7d4397

Contents?: true

Size: 1.93 KB

Versions: 7

Compression:

Stored size: 1.93 KB

Contents

require 'helper'

describe Bearcat::Client::Quizzes do
  before do
    @client = Bearcat::Client.new(prefix: "http://canvas.instructure.com", token: "test_token")
  end

  it "returns a courses quizzes" do
    stub_get(@client, "/api/v1/courses/1/quizzes").to_return(json_response("quizzes/course_quizzes.json"))
    course_quizzes = @client.list_course_quizzes('1')
    course_quizzes.class.should eq(Bearcat::ApiArray)
    course_quizzes.count.should == 2
    course_quizzes.first['id'].should == 37
    course_quizzes.last['id'].should == 38
  end

  it "returns a single quiz" do
    stub_get(@client, "/api/v1/courses/1/quizzes/38").to_return(json_response("quizzes/course_quiz.json"))
    course_quiz = @client.quiz('1', '38')
    course_quiz.class.should eq(Hash)
    course_quiz['id'].should == 38
  end

  it 'sets extensions on a quiz' do
    stub_post(@client, "/api/v1/courses/1/quizzes/1/extensions").to_return(json_response("quizzes/quiz_extension.json"))
    quiz_extension = @client.quiz_extensions('1', '1', {quiz_extensions: [{user_id: 1}, {extra_time: 30}]})
    quiz_extension.class.should eq(Hash)
    quiz_extension['quiz_extensions'].first['extra_time'].should eq(30)
  end

  it 'returns a quiz assignment override' do
    stub_post(@client, "/api/v1/courses/1/quizzes/assignment_overrides").to_return(json_response("quizzes/quiz_assignment_override.json"))
    quiz_overrides = @client.quiz_assignment_overrides('1',{:quiz_assignment_overrides => [{ :quiz_ids => 13 }] })
    quiz_overrides.class.should eq(Hash)
    quiz_overrides['quiz_assignment_overrides'].first['quiz_id'].should eq(1014)
  end


  it 'creates a new quiz' do
    name = "test quiz"
    stub_post(@client, "/api/v1/courses/1/quizzes").with(body: {"quiz" => {"title" => name}}).to_return(json_response("quizzes/course_quiz.json"))
    quiz = @client.create_quiz(1, {"quiz" => {"title" => name}})
    quiz["title"].should == 'Second Quiz'
    quiz["id"].should == 38
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
bearcat-1.2.13 spec/bearcat/client/quizzes_spec.rb
bearcat-1.2.12 spec/bearcat/client/quizzes_spec.rb
bearcat-1.2.11 spec/bearcat/client/quizzes_spec.rb
bearcat-1.2.10 spec/bearcat/client/quizzes_spec.rb
bearcat-1.2.9 spec/bearcat/client/quizzes_spec.rb
bearcat-1.2.7 spec/bearcat/client/quizzes_spec.rb
bearcat-1.2.6 spec/bearcat/client/quizzes_spec.rb