qti 2.0.0 → 2.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/lib/qti.rb +1 -0
- data/lib/qti/models/assessment_meta.rb +78 -3
- data/lib/qti/models/resource.rb +26 -2
- data/lib/qti/v1/models/interactions/base_fill_blank_interaction.rb +33 -1
- data/lib/qti/v1/models/interactions/canvas_multiple_dropdown.rb +2 -29
- data/lib/qti/v1/models/object_bank.rb +14 -0
- data/lib/qti/version.rb +1 -1
- data/spec/fixtures/items_1.2/canvas_multiple_fib_extra_brackets.xml +244 -0
- data/spec/fixtures/test_qti_1.2_canvas_extended_1/gba044ae1fc7cfd3dc413e0df695e0068/assessment_meta.xml +76 -0
- data/spec/fixtures/test_qti_1.2_canvas_extended_1/gba044ae1fc7cfd3dc413e0df695e0068/gba044ae1fc7cfd3dc413e0df695e0068.xml +17 -0
- data/spec/fixtures/test_qti_1.2_canvas_extended_1/imsmanifest.xml +39 -0
- data/spec/fixtures/test_qti_1.2_canvas_extended_2/gba044ae1fc7cfd3dc413e0df695e0068/assessment_meta.xml +76 -0
- data/spec/fixtures/test_qti_1.2_canvas_extended_2/gba044ae1fc7cfd3dc413e0df695e0068/gba044ae1fc7cfd3dc413e0df695e0068.xml +17 -0
- data/spec/fixtures/test_qti_1.2_canvas_extended_2/imsmanifest.xml +39 -0
- data/spec/fixtures/with_banks/g9a20cf3af178b54e4792cbe992f65790/assessment_meta.xml +69 -0
- data/spec/fixtures/with_banks/g9a20cf3af178b54e4792cbe992f65790/assessment_qti.xml +99 -0
- data/spec/fixtures/with_banks/imsmanifest.xml +54 -0
- data/spec/fixtures/with_banks/non_cc_assessments/g195e078fb6e3c4054e38e5c9226287ba.xml.qti +85 -0
- data/spec/fixtures/with_banks/non_cc_assessments/g9a20cf3af178b54e4792cbe992f65790.xml.qti +107 -0
- data/spec/fixtures/with_banks/non_cc_assessments/gab22de457404cb5cf022078f1e4da75e.xml.qti +59 -0
- data/spec/fixtures/with_banks/non_cc_assessments/gf3edf8167be16b3a65a00ca923132b07.xml.qti +145 -0
- data/spec/lib/qti/models/assessment_meta_spec.rb +104 -2
- data/spec/lib/qti/models/resource_spec.rb +14 -0
- data/spec/lib/qti/v1/models/interactions/base_fill_blank_interaction_spec.rb +146 -0
- data/spec/lib/qti/v1/models/interactions/canvas_multiple_dropdown_spec.rb +0 -27
- data/spec/lib/qti/v1/models/object_bank_spec.rb +39 -0
- metadata +38 -12
- data/spec/gemfiles/nokogiri-1.6.gemfile.lock +0 -149
- data/spec/gemfiles/nokogiri-1.8.gemfile.lock +0 -149
- data/spec/gemfiles/rails-5.2.gemfile.lock +0 -222
@@ -0,0 +1,85 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<questestinterop xmlns="http://www.imsglobal.org/xsd/ims_qtiasiv1p2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/ims_qtiasiv1p2 http://www.imsglobal.org/xsd/ims_qtiasiv1p2p1.xsd">
|
3
|
+
<objectbank ident="g195e078fb6e3c4054e38e5c9226287ba">
|
4
|
+
<qtimetadata>
|
5
|
+
<qtimetadatafield>
|
6
|
+
<fieldlabel>bank_title</fieldlabel>
|
7
|
+
<fieldentry>Last Bank</fieldentry>
|
8
|
+
</qtimetadatafield>
|
9
|
+
</qtimetadata>
|
10
|
+
<item ident="gdddd8d1e584c66617c2b3f5245de5eab" title="Question">
|
11
|
+
<itemmetadata>
|
12
|
+
<qtimetadata>
|
13
|
+
<qtimetadatafield>
|
14
|
+
<fieldlabel>question_type</fieldlabel>
|
15
|
+
<fieldentry>text_only_question</fieldentry>
|
16
|
+
</qtimetadatafield>
|
17
|
+
<qtimetadatafield>
|
18
|
+
<fieldlabel>points_possible</fieldlabel>
|
19
|
+
<fieldentry>0</fieldentry>
|
20
|
+
</qtimetadatafield>
|
21
|
+
<qtimetadatafield>
|
22
|
+
<fieldlabel>original_answer_ids</fieldlabel>
|
23
|
+
<fieldentry></fieldentry>
|
24
|
+
</qtimetadatafield>
|
25
|
+
</qtimetadata>
|
26
|
+
</itemmetadata>
|
27
|
+
<presentation>
|
28
|
+
<material>
|
29
|
+
<mattext texttype="text/html"><div><p>This is just some text in a bank</p></div></mattext>
|
30
|
+
</material>
|
31
|
+
</presentation>
|
32
|
+
</item>
|
33
|
+
<item ident="g29b5947f49949ca64008272b9ff29979" title="Question">
|
34
|
+
<itemmetadata>
|
35
|
+
<qtimetadata>
|
36
|
+
<qtimetadatafield>
|
37
|
+
<fieldlabel>question_type</fieldlabel>
|
38
|
+
<fieldentry>multiple_answers_question</fieldentry>
|
39
|
+
</qtimetadatafield>
|
40
|
+
<qtimetadatafield>
|
41
|
+
<fieldlabel>points_possible</fieldlabel>
|
42
|
+
<fieldentry>1.0</fieldentry>
|
43
|
+
</qtimetadatafield>
|
44
|
+
<qtimetadatafield>
|
45
|
+
<fieldlabel>original_answer_ids</fieldlabel>
|
46
|
+
<fieldentry>430,1298</fieldentry>
|
47
|
+
</qtimetadatafield>
|
48
|
+
</qtimetadata>
|
49
|
+
</itemmetadata>
|
50
|
+
<presentation>
|
51
|
+
<material>
|
52
|
+
<mattext texttype="text/html"><div><p>Name a letter after X</p></div></mattext>
|
53
|
+
</material>
|
54
|
+
<response_lid ident="response1" rcardinality="Multiple">
|
55
|
+
<render_choice>
|
56
|
+
<response_label ident="430">
|
57
|
+
<material>
|
58
|
+
<mattext texttype="text/plain">Y</mattext>
|
59
|
+
</material>
|
60
|
+
</response_label>
|
61
|
+
<response_label ident="1298">
|
62
|
+
<material>
|
63
|
+
<mattext texttype="text/plain">Z</mattext>
|
64
|
+
</material>
|
65
|
+
</response_label>
|
66
|
+
</render_choice>
|
67
|
+
</response_lid>
|
68
|
+
</presentation>
|
69
|
+
<resprocessing>
|
70
|
+
<outcomes>
|
71
|
+
<decvar maxvalue="100" minvalue="0" varname="SCORE" vartype="Decimal"/>
|
72
|
+
</outcomes>
|
73
|
+
<respcondition continue="No">
|
74
|
+
<conditionvar>
|
75
|
+
<and>
|
76
|
+
<varequal respident="response1">430</varequal>
|
77
|
+
<varequal respident="response1">1298</varequal>
|
78
|
+
</and>
|
79
|
+
</conditionvar>
|
80
|
+
<setvar action="Set" varname="SCORE">100</setvar>
|
81
|
+
</respcondition>
|
82
|
+
</resprocessing>
|
83
|
+
</item>
|
84
|
+
</objectbank>
|
85
|
+
</questestinterop>
|
@@ -0,0 +1,107 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<questestinterop xmlns="http://www.imsglobal.org/xsd/ims_qtiasiv1p2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/ims_qtiasiv1p2 http://www.imsglobal.org/xsd/ims_qtiasiv1p2p1.xsd">
|
3
|
+
<assessment ident="g9a20cf3af178b54e4792cbe992f65790" title="Some Old Quiz">
|
4
|
+
<qtimetadata>
|
5
|
+
<qtimetadatafield>
|
6
|
+
<fieldlabel>cc_maxattempts</fieldlabel>
|
7
|
+
<fieldentry>1</fieldentry>
|
8
|
+
</qtimetadatafield>
|
9
|
+
</qtimetadata>
|
10
|
+
<section ident="root_section">
|
11
|
+
<item ident="g067eae0eb6c36be5b3386c35c2cdfa14" title="Question">
|
12
|
+
<itemmetadata>
|
13
|
+
<qtimetadata>
|
14
|
+
<qtimetadatafield>
|
15
|
+
<fieldlabel>question_type</fieldlabel>
|
16
|
+
<fieldentry>true_false_question</fieldentry>
|
17
|
+
</qtimetadatafield>
|
18
|
+
<qtimetadatafield>
|
19
|
+
<fieldlabel>points_possible</fieldlabel>
|
20
|
+
<fieldentry>1.0</fieldentry>
|
21
|
+
</qtimetadatafield>
|
22
|
+
<qtimetadatafield>
|
23
|
+
<fieldlabel>original_answer_ids</fieldlabel>
|
24
|
+
<fieldentry>5972,5959</fieldentry>
|
25
|
+
</qtimetadatafield>
|
26
|
+
<qtimetadatafield>
|
27
|
+
<fieldlabel>assessment_question_identifierref</fieldlabel>
|
28
|
+
<fieldentry>gb11064031e54bbf6bf076a722e0ac941</fieldentry>
|
29
|
+
</qtimetadatafield>
|
30
|
+
</qtimetadata>
|
31
|
+
</itemmetadata>
|
32
|
+
<presentation>
|
33
|
+
<material>
|
34
|
+
<mattext texttype="text/html"><div><p>Is this an old quiz?</p></div></mattext>
|
35
|
+
</material>
|
36
|
+
<response_lid ident="response1" rcardinality="Single">
|
37
|
+
<render_choice>
|
38
|
+
<response_label ident="5972">
|
39
|
+
<material>
|
40
|
+
<mattext texttype="text/plain">True</mattext>
|
41
|
+
</material>
|
42
|
+
</response_label>
|
43
|
+
<response_label ident="5959">
|
44
|
+
<material>
|
45
|
+
<mattext texttype="text/plain">False</mattext>
|
46
|
+
</material>
|
47
|
+
</response_label>
|
48
|
+
</render_choice>
|
49
|
+
</response_lid>
|
50
|
+
</presentation>
|
51
|
+
<resprocessing>
|
52
|
+
<outcomes>
|
53
|
+
<decvar maxvalue="100" minvalue="0" varname="SCORE" vartype="Decimal"/>
|
54
|
+
</outcomes>
|
55
|
+
<respcondition continue="No">
|
56
|
+
<conditionvar>
|
57
|
+
<varequal respident="response1">5972</varequal>
|
58
|
+
</conditionvar>
|
59
|
+
<setvar action="Set" varname="SCORE">100</setvar>
|
60
|
+
</respcondition>
|
61
|
+
</resprocessing>
|
62
|
+
</item>
|
63
|
+
<item ident="g566842feff3b50f778290f11021b365e" title="Question">
|
64
|
+
<itemmetadata>
|
65
|
+
<qtimetadata>
|
66
|
+
<qtimetadatafield>
|
67
|
+
<fieldlabel>question_type</fieldlabel>
|
68
|
+
<fieldentry>essay_question</fieldentry>
|
69
|
+
</qtimetadatafield>
|
70
|
+
<qtimetadatafield>
|
71
|
+
<fieldlabel>points_possible</fieldlabel>
|
72
|
+
<fieldentry>1.0</fieldentry>
|
73
|
+
</qtimetadatafield>
|
74
|
+
<qtimetadatafield>
|
75
|
+
<fieldlabel>original_answer_ids</fieldlabel>
|
76
|
+
<fieldentry></fieldentry>
|
77
|
+
</qtimetadatafield>
|
78
|
+
<qtimetadatafield>
|
79
|
+
<fieldlabel>assessment_question_identifierref</fieldlabel>
|
80
|
+
<fieldentry>gfc230151001d8b7ba5325da6b895c0e3</fieldentry>
|
81
|
+
</qtimetadatafield>
|
82
|
+
</qtimetadata>
|
83
|
+
</itemmetadata>
|
84
|
+
<presentation>
|
85
|
+
<material>
|
86
|
+
<mattext texttype="text/html"><div><p>Write an essay about banks</p></div></mattext>
|
87
|
+
</material>
|
88
|
+
<response_str ident="response1" rcardinality="Single">
|
89
|
+
<render_fib>
|
90
|
+
<response_label ident="answer1" rshuffle="No"/>
|
91
|
+
</render_fib>
|
92
|
+
</response_str>
|
93
|
+
</presentation>
|
94
|
+
<resprocessing>
|
95
|
+
<outcomes>
|
96
|
+
<decvar maxvalue="100" minvalue="0" varname="SCORE" vartype="Decimal"/>
|
97
|
+
</outcomes>
|
98
|
+
<respcondition continue="No">
|
99
|
+
<conditionvar>
|
100
|
+
<other/>
|
101
|
+
</conditionvar>
|
102
|
+
</respcondition>
|
103
|
+
</resprocessing>
|
104
|
+
</item>
|
105
|
+
</section>
|
106
|
+
</assessment>
|
107
|
+
</questestinterop>
|
@@ -0,0 +1,59 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<questestinterop xmlns="http://www.imsglobal.org/xsd/ims_qtiasiv1p2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/ims_qtiasiv1p2 http://www.imsglobal.org/xsd/ims_qtiasiv1p2p1.xsd">
|
3
|
+
<objectbank ident="gab22de457404cb5cf022078f1e4da75e">
|
4
|
+
<qtimetadata>
|
5
|
+
<qtimetadatafield>
|
6
|
+
<fieldlabel>bank_title</fieldlabel>
|
7
|
+
<fieldentry>Unfiled Questions</fieldentry>
|
8
|
+
</qtimetadatafield>
|
9
|
+
</qtimetadata>
|
10
|
+
<item ident="gb11064031e54bbf6bf076a722e0ac941" title="Question">
|
11
|
+
<itemmetadata>
|
12
|
+
<qtimetadata>
|
13
|
+
<qtimetadatafield>
|
14
|
+
<fieldlabel>question_type</fieldlabel>
|
15
|
+
<fieldentry>true_false_question</fieldentry>
|
16
|
+
</qtimetadatafield>
|
17
|
+
<qtimetadatafield>
|
18
|
+
<fieldlabel>points_possible</fieldlabel>
|
19
|
+
<fieldentry>1.0</fieldentry>
|
20
|
+
</qtimetadatafield>
|
21
|
+
<qtimetadatafield>
|
22
|
+
<fieldlabel>original_answer_ids</fieldlabel>
|
23
|
+
<fieldentry>5972,5959</fieldentry>
|
24
|
+
</qtimetadatafield>
|
25
|
+
</qtimetadata>
|
26
|
+
</itemmetadata>
|
27
|
+
<presentation>
|
28
|
+
<material>
|
29
|
+
<mattext texttype="text/html"><div><p>Is this an old quiz?</p></div></mattext>
|
30
|
+
</material>
|
31
|
+
<response_lid ident="response1" rcardinality="Single">
|
32
|
+
<render_choice>
|
33
|
+
<response_label ident="5972">
|
34
|
+
<material>
|
35
|
+
<mattext texttype="text/plain">True</mattext>
|
36
|
+
</material>
|
37
|
+
</response_label>
|
38
|
+
<response_label ident="5959">
|
39
|
+
<material>
|
40
|
+
<mattext texttype="text/plain">False</mattext>
|
41
|
+
</material>
|
42
|
+
</response_label>
|
43
|
+
</render_choice>
|
44
|
+
</response_lid>
|
45
|
+
</presentation>
|
46
|
+
<resprocessing>
|
47
|
+
<outcomes>
|
48
|
+
<decvar maxvalue="100" minvalue="0" varname="SCORE" vartype="Decimal"/>
|
49
|
+
</outcomes>
|
50
|
+
<respcondition continue="No">
|
51
|
+
<conditionvar>
|
52
|
+
<varequal respident="response1">5972</varequal>
|
53
|
+
</conditionvar>
|
54
|
+
<setvar action="Set" varname="SCORE">100</setvar>
|
55
|
+
</respcondition>
|
56
|
+
</resprocessing>
|
57
|
+
</item>
|
58
|
+
</objectbank>
|
59
|
+
</questestinterop>
|
@@ -0,0 +1,145 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<questestinterop xmlns="http://www.imsglobal.org/xsd/ims_qtiasiv1p2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/ims_qtiasiv1p2 http://www.imsglobal.org/xsd/ims_qtiasiv1p2p1.xsd">
|
3
|
+
<objectbank ident="gf3edf8167be16b3a65a00ca923132b07">
|
4
|
+
<qtimetadata>
|
5
|
+
<qtimetadatafield>
|
6
|
+
<fieldlabel>bank_title</fieldlabel>
|
7
|
+
<fieldentry>First Bank</fieldentry>
|
8
|
+
</qtimetadatafield>
|
9
|
+
</qtimetadata>
|
10
|
+
<item ident="gfc230151001d8b7ba5325da6b895c0e3" title="Question">
|
11
|
+
<itemmetadata>
|
12
|
+
<qtimetadata>
|
13
|
+
<qtimetadatafield>
|
14
|
+
<fieldlabel>question_type</fieldlabel>
|
15
|
+
<fieldentry>essay_question</fieldentry>
|
16
|
+
</qtimetadatafield>
|
17
|
+
<qtimetadatafield>
|
18
|
+
<fieldlabel>points_possible</fieldlabel>
|
19
|
+
<fieldentry>1.0</fieldentry>
|
20
|
+
</qtimetadatafield>
|
21
|
+
<qtimetadatafield>
|
22
|
+
<fieldlabel>original_answer_ids</fieldlabel>
|
23
|
+
<fieldentry></fieldentry>
|
24
|
+
</qtimetadatafield>
|
25
|
+
</qtimetadata>
|
26
|
+
</itemmetadata>
|
27
|
+
<presentation>
|
28
|
+
<material>
|
29
|
+
<mattext texttype="text/html"><div><p>Write an essay about banks</p></div></mattext>
|
30
|
+
</material>
|
31
|
+
<response_str ident="response1" rcardinality="Single">
|
32
|
+
<render_fib>
|
33
|
+
<response_label ident="answer1" rshuffle="No"/>
|
34
|
+
</render_fib>
|
35
|
+
</response_str>
|
36
|
+
</presentation>
|
37
|
+
<resprocessing>
|
38
|
+
<outcomes>
|
39
|
+
<decvar maxvalue="100" minvalue="0" varname="SCORE" vartype="Decimal"/>
|
40
|
+
</outcomes>
|
41
|
+
<respcondition continue="No">
|
42
|
+
<conditionvar>
|
43
|
+
<other/>
|
44
|
+
</conditionvar>
|
45
|
+
</respcondition>
|
46
|
+
</resprocessing>
|
47
|
+
</item>
|
48
|
+
<item ident="ga9b15165c2d169765d9a7583be507cf7" title="Question">
|
49
|
+
<itemmetadata>
|
50
|
+
<qtimetadata>
|
51
|
+
<qtimetadatafield>
|
52
|
+
<fieldlabel>question_type</fieldlabel>
|
53
|
+
<fieldentry>multiple_choice_question</fieldentry>
|
54
|
+
</qtimetadatafield>
|
55
|
+
<qtimetadatafield>
|
56
|
+
<fieldlabel>points_possible</fieldlabel>
|
57
|
+
<fieldentry>1.0</fieldentry>
|
58
|
+
</qtimetadatafield>
|
59
|
+
<qtimetadatafield>
|
60
|
+
<fieldlabel>original_answer_ids</fieldlabel>
|
61
|
+
<fieldentry>1999,9339</fieldentry>
|
62
|
+
</qtimetadatafield>
|
63
|
+
</qtimetadata>
|
64
|
+
</itemmetadata>
|
65
|
+
<presentation>
|
66
|
+
<material>
|
67
|
+
<mattext texttype="text/html"><div><p>Pick the vowel</p></div></mattext>
|
68
|
+
</material>
|
69
|
+
<response_lid ident="response1" rcardinality="Single">
|
70
|
+
<render_choice>
|
71
|
+
<response_label ident="1999">
|
72
|
+
<material>
|
73
|
+
<mattext texttype="text/plain">E</mattext>
|
74
|
+
</material>
|
75
|
+
</response_label>
|
76
|
+
<response_label ident="9339">
|
77
|
+
<material>
|
78
|
+
<mattext texttype="text/plain">G</mattext>
|
79
|
+
</material>
|
80
|
+
</response_label>
|
81
|
+
</render_choice>
|
82
|
+
</response_lid>
|
83
|
+
</presentation>
|
84
|
+
<resprocessing>
|
85
|
+
<outcomes>
|
86
|
+
<decvar maxvalue="100" minvalue="0" varname="SCORE" vartype="Decimal"/>
|
87
|
+
</outcomes>
|
88
|
+
<respcondition continue="No">
|
89
|
+
<conditionvar>
|
90
|
+
<varequal respident="response1">1999</varequal>
|
91
|
+
</conditionvar>
|
92
|
+
<setvar action="Set" varname="SCORE">100</setvar>
|
93
|
+
</respcondition>
|
94
|
+
</resprocessing>
|
95
|
+
</item>
|
96
|
+
<item ident="g67e8c6bbb51f71dd55ac0d0cbf460e3f" title="Question">
|
97
|
+
<itemmetadata>
|
98
|
+
<qtimetadata>
|
99
|
+
<qtimetadatafield>
|
100
|
+
<fieldlabel>question_type</fieldlabel>
|
101
|
+
<fieldentry>true_false_question</fieldentry>
|
102
|
+
</qtimetadatafield>
|
103
|
+
<qtimetadatafield>
|
104
|
+
<fieldlabel>points_possible</fieldlabel>
|
105
|
+
<fieldentry>1.0</fieldentry>
|
106
|
+
</qtimetadatafield>
|
107
|
+
<qtimetadatafield>
|
108
|
+
<fieldlabel>original_answer_ids</fieldlabel>
|
109
|
+
<fieldentry>7085,6110</fieldentry>
|
110
|
+
</qtimetadatafield>
|
111
|
+
</qtimetadata>
|
112
|
+
</itemmetadata>
|
113
|
+
<presentation>
|
114
|
+
<material>
|
115
|
+
<mattext texttype="text/html"><div><p>Is this question in a bank?</p></div></mattext>
|
116
|
+
</material>
|
117
|
+
<response_lid ident="response1" rcardinality="Single">
|
118
|
+
<render_choice>
|
119
|
+
<response_label ident="7085">
|
120
|
+
<material>
|
121
|
+
<mattext texttype="text/plain">True</mattext>
|
122
|
+
</material>
|
123
|
+
</response_label>
|
124
|
+
<response_label ident="6110">
|
125
|
+
<material>
|
126
|
+
<mattext texttype="text/plain">False</mattext>
|
127
|
+
</material>
|
128
|
+
</response_label>
|
129
|
+
</render_choice>
|
130
|
+
</response_lid>
|
131
|
+
</presentation>
|
132
|
+
<resprocessing>
|
133
|
+
<outcomes>
|
134
|
+
<decvar maxvalue="100" minvalue="0" varname="SCORE" vartype="Decimal"/>
|
135
|
+
</outcomes>
|
136
|
+
<respcondition continue="No">
|
137
|
+
<conditionvar>
|
138
|
+
<varequal respident="response1">7085</varequal>
|
139
|
+
</conditionvar>
|
140
|
+
<setvar action="Set" varname="SCORE">100</setvar>
|
141
|
+
</respcondition>
|
142
|
+
</resprocessing>
|
143
|
+
</item>
|
144
|
+
</objectbank>
|
145
|
+
</questestinterop>
|
@@ -4,7 +4,7 @@ context 'Canvas Assessment Meta Data' do
|
|
4
4
|
let(:assessment) { Qti::Importer.new(file_path).test_object }
|
5
5
|
|
6
6
|
shared_examples 'loads canvas meta data' do
|
7
|
-
it 'creates a
|
7
|
+
it 'creates a valid assessment' do
|
8
8
|
expect(assessment).to be_kind_of(assessment_type)
|
9
9
|
expect(assessment.canvas_title).to eq(title)
|
10
10
|
expect(assessment.canvas_description).to eq(instructions)
|
@@ -21,6 +21,18 @@ context 'Canvas Assessment Meta Data' do
|
|
21
21
|
expect(assessment.canvas_one_time_results?).to eq(one_time_results)
|
22
22
|
expect(assessment.canvas_scoring_policy).to eq(scoring_policy)
|
23
23
|
expect(assessment.canvas_shuffle_answers?).to eq(shuffle_answers)
|
24
|
+
expect(assessment.canvas_lock_at).to eq(lock_at)
|
25
|
+
expect(assessment.canvas_unlock_at).to eq(unlock_at)
|
26
|
+
expect(assessment.canvas_due_at).to eq(due_at)
|
27
|
+
expect(assessment.canvas_access_code).to eq(access_code)
|
28
|
+
expect(assessment.canvas_ip_filter).to eq(ip_filter)
|
29
|
+
expect(assessment.canvas_time_limit).to eq(time_limit)
|
30
|
+
expect(assessment.canvas_show_correct_answers_at).to eq(show_answers_at)
|
31
|
+
expect(assessment.canvas_hide_correct_answers_at).to eq(hide_answers_at)
|
32
|
+
expect(assessment.canvas_require_lockdown_browser?).to eq(rlb)
|
33
|
+
expect(assessment.canvas_require_lockdown_browser_for_results?).to eq(rlb_results)
|
34
|
+
expect(assessment.canvas_require_lockdown_browser_monitor?).to eq(rlb_monitor)
|
35
|
+
expect(assessment.canvas_lockdown_browser_monitor_data).to eq(lb_monitor_data)
|
24
36
|
end
|
25
37
|
end
|
26
38
|
|
@@ -41,6 +53,84 @@ context 'Canvas Assessment Meta Data' do
|
|
41
53
|
let(:one_time_results) { false }
|
42
54
|
let(:scoring_policy) { 'keep_highest' }
|
43
55
|
let(:shuffle_answers) { false }
|
56
|
+
let(:lock_at) { nil }
|
57
|
+
let(:unlock_at) { nil }
|
58
|
+
let(:due_at) { nil }
|
59
|
+
let(:access_code) { nil }
|
60
|
+
let(:ip_filter) { nil }
|
61
|
+
let(:time_limit) { nil }
|
62
|
+
let(:show_answers_at) { nil }
|
63
|
+
let(:hide_answers_at) { nil }
|
64
|
+
let(:rlb) { false }
|
65
|
+
let(:rlb_results) { false }
|
66
|
+
let(:rlb_monitor) { false }
|
67
|
+
let(:lb_monitor_data) { nil }
|
68
|
+
|
69
|
+
include_examples('loads canvas meta data')
|
70
|
+
end
|
71
|
+
|
72
|
+
describe 'in a QTI 1.2 container with extended fields' do
|
73
|
+
let(:qti_file) { 'test_qti_1.2_canvas_extended_1' }
|
74
|
+
let(:assessment_type) { Qti::V1::Models::Assessment }
|
75
|
+
let(:title) { 'asd09sdfaxsdflj' }
|
76
|
+
let(:instructions) { '<p>dlkjfaflkjla3rlajl3lafd</p>' }
|
77
|
+
let(:points_possible) { 0.0 }
|
78
|
+
let(:oqaat) { true }
|
79
|
+
let(:allowed_attempts) { 52 }
|
80
|
+
let(:hide_results) { nil }
|
81
|
+
let(:quiz_type) { 'assignment' }
|
82
|
+
let('anon_submissions') { false }
|
83
|
+
let(:could_be_locked) { false }
|
84
|
+
let(:nobacktracking) { true }
|
85
|
+
let(:available) { false }
|
86
|
+
let(:one_time_results) { false }
|
87
|
+
let(:scoring_policy) { 'keep_average' }
|
88
|
+
let(:shuffle_answers) { true }
|
89
|
+
let(:lock_at) { '2020-07-10T04:59:59' }
|
90
|
+
let(:unlock_at) { '2020-04-16T05:00:00' }
|
91
|
+
let(:due_at) { '2020-05-23T04:59:59' }
|
92
|
+
let(:access_code) { '98aAlfmxtw#!£$s' }
|
93
|
+
let(:ip_filter) { '192.168.217.1/24' }
|
94
|
+
let(:time_limit) { 187 }
|
95
|
+
let(:show_answers_at) { '2041-02-17 06:00:00 UTC' }
|
96
|
+
let(:hide_answers_at) { '2042-12-26 06:00:00 UTC' }
|
97
|
+
let(:rlb) { false }
|
98
|
+
let(:rlb_results) { false }
|
99
|
+
let(:rlb_monitor) { false }
|
100
|
+
let(:lb_monitor_data) { nil }
|
101
|
+
|
102
|
+
include_examples('loads canvas meta data')
|
103
|
+
end
|
104
|
+
|
105
|
+
describe 'in a QTI 1.2 container with extended fields and empty tags' do
|
106
|
+
let(:qti_file) { 'test_qti_1.2_canvas_extended_2' }
|
107
|
+
let(:assessment_type) { Qti::V1::Models::Assessment }
|
108
|
+
let(:title) { '' }
|
109
|
+
let(:instructions) { '' }
|
110
|
+
let(:points_possible) { 0.0 }
|
111
|
+
let(:oqaat) { false }
|
112
|
+
let(:allowed_attempts) { 0 }
|
113
|
+
let(:hide_results) { nil }
|
114
|
+
let(:quiz_type) { nil }
|
115
|
+
let('anon_submissions') { false }
|
116
|
+
let(:could_be_locked) { false }
|
117
|
+
let(:nobacktracking) { false }
|
118
|
+
let(:available) { false }
|
119
|
+
let(:one_time_results) { false }
|
120
|
+
let(:scoring_policy) { nil }
|
121
|
+
let(:shuffle_answers) { false }
|
122
|
+
let(:lock_at) { nil }
|
123
|
+
let(:unlock_at) { nil }
|
124
|
+
let(:due_at) { nil }
|
125
|
+
let(:access_code) { nil }
|
126
|
+
let(:ip_filter) { nil }
|
127
|
+
let(:time_limit) { nil }
|
128
|
+
let(:show_answers_at) { nil }
|
129
|
+
let(:hide_answers_at) { nil }
|
130
|
+
let(:rlb) { false }
|
131
|
+
let(:rlb_results) { false }
|
132
|
+
let(:rlb_monitor) { false }
|
133
|
+
let(:lb_monitor_data) { nil }
|
44
134
|
|
45
135
|
include_examples('loads canvas meta data')
|
46
136
|
end
|
@@ -53,7 +143,7 @@ context 'Canvas Assessment Meta Data' do
|
|
53
143
|
let(:points_possible) { 1.0 }
|
54
144
|
let(:oqaat) { false }
|
55
145
|
let(:allowed_attempts) { 1 }
|
56
|
-
let(:hide_results) {
|
146
|
+
let(:hide_results) { nil }
|
57
147
|
let(:quiz_type) { 'assignment' }
|
58
148
|
let('anon_submissions') { false }
|
59
149
|
let(:could_be_locked) { false }
|
@@ -62,6 +152,18 @@ context 'Canvas Assessment Meta Data' do
|
|
62
152
|
let(:one_time_results) { false }
|
63
153
|
let(:scoring_policy) { 'keep_highest' }
|
64
154
|
let(:shuffle_answers) { false }
|
155
|
+
let(:lock_at) { nil }
|
156
|
+
let(:unlock_at) { nil }
|
157
|
+
let(:due_at) { nil }
|
158
|
+
let(:access_code) { nil }
|
159
|
+
let(:ip_filter) { nil }
|
160
|
+
let(:time_limit) { nil }
|
161
|
+
let(:show_answers_at) { nil }
|
162
|
+
let(:hide_answers_at) { nil }
|
163
|
+
let(:rlb) { false }
|
164
|
+
let(:rlb_results) { false }
|
165
|
+
let(:rlb_monitor) { false }
|
166
|
+
let(:lb_monitor_data) { nil }
|
65
167
|
|
66
168
|
include_examples('loads canvas meta data')
|
67
169
|
end
|