@@ -50,6 +50,86 @@ def submit_homework(assignment, student, opts = {:body => "test!"})
5050 response . status . should match /404/
5151 end
5252
53+ describe "using section ids" do
54+ before do
55+ @student1 = user ( :active_all => true )
56+ course_with_teacher ( :active_all => true )
57+ @default_section = @course . default_section
58+ @section = factory_with_protected_attributes ( @course . course_sections , :sis_source_id => 'my-section-sis-id' , :name => 'section2' )
59+ @course . enroll_user ( @student1 , 'StudentEnrollment' , :section => @section ) . accept!
60+ end
61+
62+ it "should list submissions" do
63+ quiz = Quiz . create! ( :title => 'quiz1' , :context => @course )
64+ quiz . did_edit!
65+ quiz . offer!
66+ a1 = quiz . assignment
67+ sub = a1 . find_or_create_submission ( @student1 )
68+ sub . submission_type = 'online_quiz'
69+ sub . workflow_state = 'submitted'
70+ sub . save!
71+
72+ json = api_call ( :get ,
73+ "/api/v1/sections/#{ @default_section . id } /assignments/#{ a1 . id } /submissions.json" ,
74+ { :controller => 'submissions_api' , :action => 'index' ,
75+ :format => 'json' , :section_id => @default_section . id . to_s ,
76+ :assignment_id => a1 . id . to_s } ,
77+ { :include => %w( submission_history submission_comments rubric_assessment ) } )
78+ json . size . should == 0
79+
80+ json = api_call ( :get ,
81+ "/api/v1/sections/sis_section_id:my-section-sis-id/assignments/#{ a1 . id } /submissions.json" ,
82+ { :controller => 'submissions_api' , :action => 'index' ,
83+ :format => 'json' , :section_id => 'sis_section_id:my-section-sis-id' ,
84+ :assignment_id => a1 . id . to_s } ,
85+ { :include => %w( submission_history submission_comments rubric_assessment ) } )
86+ json . size . should == 1
87+ json . first [ 'user_id' ] . should == @student1 . id
88+
89+ json = api_call ( :get ,
90+ "/api/v1/sections/#{ @default_section . id } /students/submissions" ,
91+ { :controller => 'submissions_api' , :action => 'for_students' ,
92+ :format => 'json' , :section_id => @default_section . id . to_s } ,
93+ :student_ids => [ @student1 . id ] )
94+ json . size . should == 0
95+
96+ json = api_call ( :get ,
97+ "/api/v1/sections/sis_section_id:my-section-sis-id/students/submissions" ,
98+ { :controller => 'submissions_api' , :action => 'for_students' ,
99+ :format => 'json' , :section_id => 'sis_section_id:my-section-sis-id' } ,
100+ :student_ids => [ @student1 . id ] )
101+ json . size . should == 1
102+ end
103+
104+ it "should post to submissions" do
105+ a1 = @course . assignments . create! ( { :title => 'assignment1' , :grading_type => 'percent' , :points_possible => 10 } )
106+
107+ raw_api_call ( :put ,
108+ "/api/v1/sections/#{ @default_section . id } /assignments/#{ a1 . id } /submissions/#{ @student1 . id } " ,
109+ { :controller => 'submissions_api' , :action => 'update' ,
110+ :format => 'json' , :section_id => @default_section . id . to_s ,
111+ :assignment_id => a1 . id . to_s , :id => @student1 . id . to_s } ,
112+ { :submission => { :posted_grade => '75%' } } )
113+ response . status . should == "404 Not Found"
114+
115+ json = api_call ( :put ,
116+ "/api/v1/sections/sis_section_id:my-section-sis-id/assignments/#{ a1 . id } /submissions/#{ @student1 . id } " ,
117+ { :controller => 'submissions_api' , :action => 'update' ,
118+ :format => 'json' , :section_id => 'sis_section_id:my-section-sis-id' ,
119+ :assignment_id => a1 . id . to_s , :id => @student1 . id . to_s } ,
120+ { :submission => { :posted_grade => '75%' } } )
121+
122+ Submission . count . should == 1
123+ @submission = Submission . first
124+
125+ json [ 'score' ] . should == 7.5
126+ json [ 'grade' ] . should == '75%'
127+ end
128+
129+ it "should return submissions for a section" do
130+ end
131+ end
132+
53133 it "should return student discussion entries for discussion_topic assignments" do
54134 @student = user ( :active_all => true )
55135 course_with_teacher ( :active_all => true )
0 commit comments