@@ -233,6 +233,9 @@ def make_progress_in_section(script)
233
233
end
234
234
235
235
test "should get surveys for section with script with anonymous level_group assessment" do
236
+ # Seed the RNG deterministically so we get the same "random" shuffling of results.
237
+ srand 1
238
+
236
239
script = create :script
237
240
238
241
sub_level1 = create :text_match , name : 'level_free_response' , type : 'TextMatch'
@@ -252,52 +255,47 @@ def make_progress_in_section(script)
252
255
level1 . save!
253
256
create :script_level , script : script , levels : [ level1 ] , assessment : true
254
257
255
- # student_1 did the survey
256
- create ( :activity , user : @student_1 , level : level1 , level_source : create ( :level_source , level : level1 ) )
257
-
258
- create ( :activity , user : @student_1 , level : sub_level1 ,
259
- level_source : create ( :level_source , level : sub_level1 , data : "This is a free response" ) )
260
- create ( :activity , user : @student_1 , level : sub_level2 ,
261
- level_source : create ( :level_source , level : sub_level2 , data : "0" ) )
262
- create ( :activity , user : @student_1 , level : sub_level3 ,
263
- level_source : create ( :level_source , level : sub_level3 , data : "1" ) )
264
- create ( :activity , user : @student_1 , level : sub_level4 ,
265
- level_source : create ( :level_source , level : sub_level4 , data : "-1" ) )
266
-
267
- # student_2 also did the survey
268
- create ( :activity , user : @student_2 , level : level1 , level_source : create ( :level_source , level : level1 ) )
269
-
270
- create ( :activity , user : @student_2 , level : sub_level1 ,
271
- level_source : create ( :level_source , level : sub_level1 , data : "This is a different free response" ) )
272
- create ( :activity , user : @student_2 , level : sub_level2 ,
273
- level_source : create ( :level_source , level : sub_level2 , data : "-1" ) )
274
- create ( :activity , user : @student_2 , level : sub_level3 ,
275
- level_source : create ( :level_source , level : sub_level3 , data : "2" ) )
276
- create ( :activity , user : @student_2 , level : sub_level4 ,
277
- level_source : create ( :level_source , level : sub_level4 , data : "3" ) )
278
-
279
- # student_3 through student_5 also did the survey, just submitting a free response.
280
- [ @student_3 , @student_4 , @student_5 ] . each_with_index do |student , student_index |
281
- create ( :activity , user : student , level : level1 , level_source : create ( :level_source , level : level1 ) )
282
-
283
- create ( :activity , user : student , level : sub_level1 ,
284
- level_source : create ( :level_source , level : sub_level1 , data : "Free response from student #{ student_index + 3 } " ) )
285
- create ( :activity , user : student , level : sub_level2 ,
286
- level_source : create ( :level_source , level : sub_level2 , data : "-1" ) )
287
- create ( :activity , user : student , level : sub_level3 ,
288
- level_source : create ( :level_source , level : sub_level3 , data : "-1" ) )
289
- create ( :activity , user : student , level : sub_level4 ,
290
- level_source : create ( :level_source , level : sub_level4 , data : "-1" ) )
291
- end
292
-
293
258
updated_at = Time . now
294
259
260
+ # All students did the LevelGroup.
295
261
[ @student_1 , @student_2 , @student_3 , @student_4 , @student_5 ] . each do |student |
296
- create :user_level , user : student , best_result : 100 , script : script , level : level1 , submitted : true , updated_at : updated_at
262
+ create :user_level , user : student , script : script , level : level1 ,
263
+ level_source : create ( :level_source , level : level1 ) , best_result : 100 ,
264
+ submitted : true , updated_at : updated_at
297
265
end
298
266
299
- # Seed the RNG with the same thing so we get the same "random" shuffling of results.
300
- srand 1
267
+ # student_1 did the survey.
268
+ create :user_level , user : @student_1 , script : script , level : sub_level1 ,
269
+ level_source : create ( :level_source , level : sub_level1 , data : "This is a free response" )
270
+ create :user_level , user : @student_1 , script : script , level : sub_level2 ,
271
+ level_source : create ( :level_source , level : sub_level2 , data : "0" )
272
+ create :user_level , user : @student_1 , script : script , level : sub_level3 ,
273
+ level_source : create ( :level_source , level : sub_level3 , data : "1" )
274
+ create :user_level , user : @student_1 , script : script , level : sub_level4 ,
275
+ level_source : create ( :level_source , level : sub_level4 , data : "-1" )
276
+
277
+ # student_2 did the survey.
278
+ create :user_level , user : @student_2 , script : script , level : sub_level1 ,
279
+ level_source : create ( :level_source , level : sub_level1 , data : "This is a different free response" )
280
+ create :user_level , user : @student_2 , script : script , level : sub_level2 ,
281
+ level_source : create ( :level_source , level : sub_level2 , data : "-1" )
282
+ create :user_level , user : @student_2 , script : script , level : sub_level3 ,
283
+ level_source : create ( :level_source , level : sub_level3 , data : "2" )
284
+ create :user_level , user : @student_2 , script : script , level : sub_level4 ,
285
+ level_source : create ( :level_source , level : sub_level4 , data : "3" )
286
+
287
+ # student_3, student_4, and student_5 did only the free response part of the
288
+ # survey....
289
+ [ @student_3 , @student_4 , @student_5 ] . each_with_index do |student , student_index |
290
+ create :user_level , user : student , script : script , level : sub_level1 ,
291
+ level_source : create ( :level_source , level : sub_level1 , data : "Free response from student #{ student_index + 3 } " )
292
+ create :user_level , user : student , script : script , level : sub_level2 ,
293
+ level_source : create ( :level_source , level : sub_level2 , data : "-1" )
294
+ create :user_level , user : student , script : script , level : sub_level3 ,
295
+ level_source : create ( :level_source , level : sub_level3 , data : "-1" )
296
+ create :user_level , user : student , script : script , level : sub_level4 ,
297
+ level_source : create ( :level_source , level : sub_level4 , data : "-1" )
298
+ end
301
299
302
300
get :section_surveys , section_id : @section . id , script_id : script . id
303
301
assert_response :success
@@ -811,10 +809,11 @@ def make_progress_in_section(script)
811
809
812
810
script_level = script . script_levels [ 0 ]
813
811
level = script_level . level
814
- create :user_level , user : user , best_result : 100 , script : script , level : level
812
+ level_source = create :level_source , level : level , data : ' level source'
815
813
816
- create ( :activity , user : user , level : level ,
817
- level_source : create ( :level_source , level : level , data : 'level source' ) )
814
+ create :user_level , user : user , best_result : 100 , script : script ,
815
+ level : level , level_source : level_source
816
+ create :activity , user : user , level : level , level_source : level_source
818
817
819
818
get :user_progress_for_stage , script_name : script . name , stage_position : 1 , level_position : 1
820
819
assert_response :success
@@ -895,17 +894,10 @@ def make_progress_in_section(script)
895
894
stage = create :stage , script : script
896
895
level1a = create :maze , name : 'maze 1'
897
896
level1b = create :maze , name : 'maze 1 new'
897
+ level_source = create :level_source , level : level1a , data : 'level source'
898
898
create :script_level , script : script , stage : stage , levels : [ level1a , level1b ] , properties : "{'maze 1': {active: false}}"
899
- create (
900
- :activity ,
901
- user : @student_1 ,
902
- level : level1a ,
903
- level_source : create (
904
- :level_source ,
905
- level : level1a ,
906
- data : 'level source'
907
- )
908
- )
899
+ create :user_level , user : @student_1 , script : script , level : level1a , level_source : level_source
900
+ create :activity , user : @student_1 , level : level1a , level_source : level_source
909
901
910
902
get :user_progress_for_stage , script_name : script . name , stage_position : 1 , level_position : 1 , level : level1a . id
911
903
body = JSON . parse ( response . body )
0 commit comments