bearcat 1.6.10 → 1.7.0
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 +4 -4
- data/Rakefile +0 -0
- data/bearcat.gemspec +5 -3
- data/lib/badgrcat/api_array.rb +0 -0
- data/lib/badgrcat/client.rb +15 -2
- data/lib/badgrcat/version.rb +0 -0
- data/lib/bearcat/api_array.rb +1 -0
- data/lib/bearcat/client/account_reports.rb +0 -0
- data/lib/bearcat/client/analytics.rb +0 -0
- data/lib/bearcat/client/assignment_groups.rb +0 -0
- data/lib/bearcat/client/assignments.rb +0 -0
- data/lib/bearcat/client/blueprint_courses.rb +0 -0
- data/lib/bearcat/client/calendar_events.rb +0 -0
- data/lib/bearcat/client/canvas_files.rb +0 -0
- data/lib/bearcat/client/conferences.rb +0 -0
- data/lib/bearcat/client/content_exports.rb +0 -0
- data/lib/bearcat/client/content_migrations.rb +0 -0
- data/lib/bearcat/client/conversations.rb +0 -0
- data/lib/bearcat/client/custom_gradebook_columns.rb +0 -0
- data/lib/bearcat/client/discussions.rb +0 -0
- data/lib/bearcat/client/enrollments.rb +0 -0
- data/lib/bearcat/client/external_tools.rb +0 -0
- data/lib/bearcat/client/file_helper.rb +1 -1
- data/lib/bearcat/client/files.rb +0 -0
- data/lib/bearcat/client/folders.rb +0 -0
- data/lib/bearcat/client/group_categories.rb +0 -0
- data/lib/bearcat/client/group_memberships.rb +0 -0
- data/lib/bearcat/client/groups.rb +0 -0
- data/lib/bearcat/client/learning_outcomes.rb +0 -0
- data/lib/bearcat/client/logins.rb +0 -0
- data/lib/bearcat/client/module_items.rb +0 -0
- data/lib/bearcat/client/modules.rb +0 -0
- data/lib/bearcat/client/o_auth2.rb +0 -0
- data/lib/bearcat/client/outcome_groups.rb +0 -0
- data/lib/bearcat/client/outcome_imports.rb +1 -1
- data/lib/bearcat/client/outcomes.rb +0 -0
- data/lib/bearcat/client/progresses.rb +0 -0
- data/lib/bearcat/client/quizzes.rb +0 -0
- data/lib/bearcat/client/roles.rb +0 -0
- data/lib/bearcat/client/rubric.rb +0 -0
- data/lib/bearcat/client/rubric_assessment.rb +0 -0
- data/lib/bearcat/client/rubric_association.rb +0 -0
- data/lib/bearcat/client/search.rb +0 -0
- data/lib/bearcat/client/sections.rb +0 -0
- data/lib/bearcat/client/sis_imports.rb +1 -1
- data/lib/bearcat/client/tabs.rb +0 -0
- data/lib/bearcat/client.rb +14 -0
- data/lib/bearcat/client_module.rb +0 -0
- data/lib/bearcat/rate_limiting/functions.lua +11 -0
- data/lib/bearcat/rate_limiting/increment_bucket.lua +0 -0
- data/lib/bearcat/rate_limiting/redis_script.rb +0 -0
- data/lib/bearcat/rate_limiting.rb +0 -0
- data/lib/bearcat/version.rb +1 -1
- data/lib/catalogcat/api_array.rb +1 -1
- data/lib/catalogcat/client/catalogs.rb +0 -0
- data/lib/catalogcat/client/certificates.rb +0 -0
- data/lib/catalogcat/client/courses.rb +0 -0
- data/lib/catalogcat/client/email_domain_sets.rb +0 -0
- data/lib/catalogcat/client/enrollments.rb +0 -0
- data/lib/catalogcat/client/orders.rb +0 -0
- data/lib/catalogcat/client/user_registrations.rb +1 -1
- data/lib/catalogcat/client.rb +0 -0
- data/lib/catalogcat/version.rb +0 -0
- data/lib/catalogcat.rb +0 -0
- data/spec/badgrcat/client_spec.rb +151 -0
- data/spec/bearcat/api_array_spec.rb +8 -8
- data/spec/bearcat/client/analytics_spec.rb +0 -0
- data/spec/bearcat/client/assignment_groups_spec.rb +0 -0
- data/spec/bearcat/client/assignments_spec.rb +0 -0
- data/spec/bearcat/client/blueprint_courses_spec.rb +0 -0
- data/spec/bearcat/client/calendar_events_spec.rb +0 -0
- data/spec/bearcat/client/canvas_files_spec.rb +0 -0
- data/spec/bearcat/client/conferences_spec.rb +0 -0
- data/spec/bearcat/client/content_exports_spec.rb +0 -0
- data/spec/bearcat/client/content_migrations_spec.rb +0 -0
- data/spec/bearcat/client/conversations_spec.rb +0 -0
- data/spec/bearcat/client/courses_spec.rb +0 -0
- data/spec/bearcat/client/custom_gradebook_columns_spec.rb +0 -0
- data/spec/bearcat/client/discussions_spec.rb +0 -0
- data/spec/bearcat/client/enrollments_spec.rb +0 -0
- data/spec/bearcat/client/external_tools_spec.rb +0 -0
- data/spec/bearcat/client/files_spec.rb +0 -0
- data/spec/bearcat/client/folders_spec.rb +0 -0
- data/spec/bearcat/client/graph_ql_spec.rb +0 -0
- data/spec/bearcat/client/group_categories_spec.rb +0 -0
- data/spec/bearcat/client/group_membership_spec.rb +0 -0
- data/spec/bearcat/client/group_memberships_spec.rb +0 -0
- data/spec/bearcat/client/groups_spec.rb +0 -0
- data/spec/bearcat/client/learning_outcomes_spec.rb +0 -0
- data/spec/bearcat/client/module_items_spec.rb +0 -0
- data/spec/bearcat/client/modules_spec.rb +0 -0
- data/spec/bearcat/client/new_quizzes_spec.rb +111 -0
- data/spec/bearcat/client/o_auth2_spec.rb +0 -0
- data/spec/bearcat/client/outcome_groups_spec.rb +0 -0
- data/spec/bearcat/client/outcomes_spec.rb +0 -0
- data/spec/bearcat/client/quizzes_spec.rb +0 -0
- data/spec/bearcat/client/roles_spec.rb +0 -0
- data/spec/bearcat/client/rubric_assessment_spec.rb +0 -0
- data/spec/bearcat/client/rubric_association_spec.rb +0 -0
- data/spec/bearcat/client/rubric_spec.rb +0 -0
- data/spec/bearcat/client/search_spec.rb +0 -0
- data/spec/bearcat/client/sections_spec.rb +0 -0
- data/spec/bearcat/client/submissions_spec.rb +0 -0
- data/spec/bearcat/client/users_spec.rb +0 -0
- data/spec/bearcat/rate_limiting_spec.rb +0 -0
- data/spec/bearcat/stub_bearcat_spec.rb +0 -0
- data/spec/bearcat_spec.rb +0 -0
- data/spec/fixtures/access_token.json +0 -0
- data/spec/fixtures/account_admin_create.json +0 -0
- data/spec/fixtures/account_admin_delete.json +0 -0
- data/spec/fixtures/account_admins.json +0 -0
- data/spec/fixtures/account_courses.json +0 -0
- data/spec/fixtures/account_grading_standards.json +0 -0
- data/spec/fixtures/account_groups.json +0 -0
- data/spec/fixtures/account_reports.json +0 -0
- data/spec/fixtures/account_reports_index.json +0 -0
- data/spec/fixtures/account_reports_result_success.json +0 -0
- data/spec/fixtures/account_reports_start_result.json +0 -0
- data/spec/fixtures/account_role.json +0 -0
- data/spec/fixtures/account_roles.json +0 -0
- data/spec/fixtures/account_sis_imports.json +0 -0
- data/spec/fixtures/account_sub_accounts.json +0 -0
- data/spec/fixtures/account_user.json +0 -0
- data/spec/fixtures/account_users.json +0 -0
- data/spec/fixtures/accounts.json +0 -0
- data/spec/fixtures/add_custom_user_data.json +0 -0
- data/spec/fixtures/add_user.json +0 -0
- data/spec/fixtures/assignment.json +0 -0
- data/spec/fixtures/assignment_group.json +0 -0
- data/spec/fixtures/assignment_groups.json +0 -0
- data/spec/fixtures/assignment_section_override.json +0 -0
- data/spec/fixtures/assignments.json +0 -0
- data/spec/fixtures/bearcat.jpg +0 -0
- data/spec/fixtures/blueprint_migration.json +0 -0
- data/spec/fixtures/blueprint_subscriptions.json +0 -0
- data/spec/fixtures/blueprint_template.json +0 -0
- data/spec/fixtures/blueprint_update_assocations_success.json +0 -0
- data/spec/fixtures/calendar_event.json +0 -0
- data/spec/fixtures/calendar_events.json +0 -0
- data/spec/fixtures/canvas_files/declare_file.json +0 -0
- data/spec/fixtures/canvas_files/upload_success.json +0 -0
- data/spec/fixtures/cc.imscc +0 -0
- data/spec/fixtures/communication_channels.json +0 -0
- data/spec/fixtures/conclude_enrollment.json +0 -0
- data/spec/fixtures/content_export.json +0 -0
- data/spec/fixtures/content_migration_files/content_migration.json +0 -0
- data/spec/fixtures/content_migration_files/response.json +0 -0
- data/spec/fixtures/content_migration_files/upload_success.json +0 -0
- data/spec/fixtures/conversation.json +0 -0
- data/spec/fixtures/course.json +0 -0
- data/spec/fixtures/course_conferences.json +0 -0
- data/spec/fixtures/course_copy.json +0 -0
- data/spec/fixtures/course_enrollments.json +0 -0
- data/spec/fixtures/course_files.json +0 -0
- data/spec/fixtures/course_folder.json +0 -0
- data/spec/fixtures/course_folders.json +0 -0
- data/spec/fixtures/course_grading_standards.json +0 -0
- data/spec/fixtures/course_groups.json +0 -0
- data/spec/fixtures/course_sections.json +0 -0
- data/spec/fixtures/course_settings.json +0 -0
- data/spec/fixtures/course_students.json +0 -0
- data/spec/fixtures/create_course_discussion.json +0 -0
- data/spec/fixtures/create_group_discussion.json +0 -0
- data/spec/fixtures/create_outcome_in_group.json +0 -0
- data/spec/fixtures/create_section.json +0 -0
- data/spec/fixtures/created_assignment.json +0 -0
- data/spec/fixtures/created_course.json +0 -0
- data/spec/fixtures/created_group.json +0 -0
- data/spec/fixtures/created_group_category.json +0 -0
- data/spec/fixtures/created_group_membership.json +0 -0
- data/spec/fixtures/created_module.json +0 -0
- data/spec/fixtures/custom_data.json +0 -0
- data/spec/fixtures/custom_food_data.json +0 -0
- data/spec/fixtures/custom_gradebook_columns/column_data.json +0 -0
- data/spec/fixtures/custom_gradebook_columns/custom_gradebook_column.json +0 -0
- data/spec/fixtures/custom_gradebook_columns/custom_gradebook_columns.json +0 -0
- data/spec/fixtures/custom_gradebook_columns/gradebook_column_progress.json +0 -0
- data/spec/fixtures/dashboard.json +0 -0
- data/spec/fixtures/delete_course.json +0 -0
- data/spec/fixtures/delete_custom_data_scope.json +0 -0
- data/spec/fixtures/delete_group_category.json +0 -0
- data/spec/fixtures/delete_section.json +0 -0
- data/spec/fixtures/deleted_conversation.json +0 -0
- data/spec/fixtures/deleted_group.json +0 -0
- data/spec/fixtures/department_level_participation.json +0 -0
- data/spec/fixtures/department_level_statistics.json +0 -0
- data/spec/fixtures/discussion_entries.json +0 -0
- data/spec/fixtures/discussion_entry_replies.json +0 -0
- data/spec/fixtures/discussion_topic.json +0 -0
- data/spec/fixtures/discussion_topics.json +0 -0
- data/spec/fixtures/edited_group.json +0 -0
- data/spec/fixtures/edited_group_category.json +0 -0
- data/spec/fixtures/enroll_student.json +0 -0
- data/spec/fixtures/enrollment_terms.json +0 -0
- data/spec/fixtures/external_tool.json +0 -0
- data/spec/fixtures/external_tools.json +0 -0
- data/spec/fixtures/file.csv +0 -0
- data/spec/fixtures/gradebook_history.json +0 -0
- data/spec/fixtures/graph_ql_scores.json +0 -0
- data/spec/fixtures/group.json +0 -0
- data/spec/fixtures/group_categories.json +0 -0
- data/spec/fixtures/group_category.json +0 -0
- data/spec/fixtures/group_category_groups.json +0 -0
- data/spec/fixtures/group_conferences.json +0 -0
- data/spec/fixtures/group_membership.json +0 -0
- data/spec/fixtures/learning_outcome.json +0 -0
- data/spec/fixtures/link_unlink_outcome.json +0 -0
- data/spec/fixtures/merge_user.json +0 -0
- data/spec/fixtures/module.json +0 -0
- data/spec/fixtures/module_item.json +0 -0
- data/spec/fixtures/module_item_sequence.json +0 -0
- data/spec/fixtures/module_items.json +0 -0
- data/spec/fixtures/modules.json +0 -0
- data/spec/fixtures/new_quizzes/new_quiz_item_categorization.json +44 -0
- data/spec/fixtures/new_quizzes/new_quiz_item_essay.json +29 -0
- data/spec/fixtures/new_quizzes/new_quiz_item_file_upload.json +32 -0
- data/spec/fixtures/new_quizzes/new_quiz_item_fill_in_multiple_blanks.json +65 -0
- data/spec/fixtures/new_quizzes/new_quiz_item_formula.json +50 -0
- data/spec/fixtures/new_quizzes/new_quiz_item_hot_spot.json +42 -0
- data/spec/fixtures/new_quizzes/new_quiz_item_matching.json +52 -0
- data/spec/fixtures/new_quizzes/new_quiz_item_multiple_answer.json +38 -0
- data/spec/fixtures/new_quizzes/new_quiz_item_numeric.json +30 -0
- data/spec/fixtures/new_quizzes/new_quiz_item_ordering.json +40 -0
- data/spec/fixtures/new_quizzes/new_quiz_item_short_answer.json +31 -0
- data/spec/fixtures/new_quizzes/new_quiz_item_stimulus.json +26 -0
- data/spec/fixtures/new_quizzes/new_quiz_item_true_false.json +29 -0
- data/spec/fixtures/no_custom_data.json +0 -0
- data/spec/fixtures/ok.json +0 -0
- data/spec/fixtures/outcome_group_import.json +0 -0
- data/spec/fixtures/outcome_groups.json +0 -0
- data/spec/fixtures/outcome_result.json +0 -0
- data/spec/fixtures/outcome_subgroup.json +0 -0
- data/spec/fixtures/outcome_subgroups.json +0 -0
- data/spec/fixtures/outcomes.json +0 -0
- data/spec/fixtures/paged_body.json +0 -0
- data/spec/fixtures/pages.json +0 -0
- data/spec/fixtures/progress.json +0 -0
- data/spec/fixtures/quizzes/course_quiz.json +0 -0
- data/spec/fixtures/quizzes/course_quiz_questions.json +0 -0
- data/spec/fixtures/quizzes/course_quizzes.json +0 -0
- data/spec/fixtures/quizzes/quiz_assignment_override.json +0 -0
- data/spec/fixtures/quizzes/quiz_extension.json +0 -0
- data/spec/fixtures/reactivate_enrollment.json +0 -0
- data/spec/fixtures/report_history.json +0 -0
- data/spec/fixtures/report_list.json +0 -0
- data/spec/fixtures/report_status.json +0 -0
- data/spec/fixtures/rubric.json +0 -0
- data/spec/fixtures/rubric_assessment.json +0 -0
- data/spec/fixtures/rubric_association.json +0 -0
- data/spec/fixtures/search_find_recipients.json +0 -0
- data/spec/fixtures/section.json +0 -0
- data/spec/fixtures/section_enrollments.json +0 -0
- data/spec/fixtures/single_account.json +0 -0
- data/spec/fixtures/start_report.json +0 -0
- data/spec/fixtures/submissions/submission.json +0 -0
- data/spec/fixtures/update_outcome.json +0 -0
- data/spec/fixtures/update_outcome_group.json +0 -0
- data/spec/fixtures/update_section.json +0 -0
- data/spec/fixtures/updated_course.json +0 -0
- data/spec/fixtures/user_avatars.json +0 -0
- data/spec/fixtures/user_details.json +0 -0
- data/spec/fixtures/user_enrollments.json +0 -0
- data/spec/fixtures/user_logins.json +0 -0
- data/spec/fixtures/user_page_views.json +0 -0
- data/spec/fixtures/user_profile.json +0 -0
- data/spec/helper.rb +7 -0
- metadata +235 -182
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "12",
|
|
3
|
+
"position": 1,
|
|
4
|
+
"points_possible": 5.0,
|
|
5
|
+
"properties": { "required": false },
|
|
6
|
+
"entry_type": "Item",
|
|
7
|
+
"entry_editable": true,
|
|
8
|
+
"stimulus_quiz_entry_id": "",
|
|
9
|
+
"status": "mutable",
|
|
10
|
+
"entry": {
|
|
11
|
+
"id": "12",
|
|
12
|
+
"title": "Calculate the area of a rectangle.",
|
|
13
|
+
"item_body": "<p>A rectangle has a length of `length` and a width of `width`. What is its area?</p>",
|
|
14
|
+
"calculator_type": "none",
|
|
15
|
+
"interaction_data": {},
|
|
16
|
+
"properties": {},
|
|
17
|
+
"scoring_data": {
|
|
18
|
+
"value": {
|
|
19
|
+
"formula": "length * width",
|
|
20
|
+
"numeric": {
|
|
21
|
+
"type": "marginOfError",
|
|
22
|
+
"margin": "0",
|
|
23
|
+
"margin_type": "absolute"
|
|
24
|
+
},
|
|
25
|
+
"variables": [
|
|
26
|
+
{ "max": 20, "min": 1, "name": "length", "precision": 0 },
|
|
27
|
+
{ "max": 20, "min": 1, "name": "width", "precision": 0 }
|
|
28
|
+
],
|
|
29
|
+
"answer_count": "5",
|
|
30
|
+
"generated_solutions": [
|
|
31
|
+
{
|
|
32
|
+
"inputs": [{ "name": "length", "value": "3" }, { "name": "width", "value": "4" }],
|
|
33
|
+
"output": "12"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"inputs": [{ "name": "length", "value": "5" }, { "name": "width", "value": "2" }],
|
|
37
|
+
"output": "10"
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"answer_feedback": {},
|
|
43
|
+
"scoring_algorithm": "Numeric",
|
|
44
|
+
"created_at": "2026-04-23T10:00:00.000Z",
|
|
45
|
+
"updated_at": "2026-04-23T10:00:00.000Z",
|
|
46
|
+
"tag_associations": [],
|
|
47
|
+
"interaction_type_slug": "formula",
|
|
48
|
+
"feedback": {}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "13",
|
|
3
|
+
"position": 1,
|
|
4
|
+
"points_possible": 2.0,
|
|
5
|
+
"properties": {},
|
|
6
|
+
"entry_type": "Item",
|
|
7
|
+
"entry_editable": true,
|
|
8
|
+
"stimulus_quiz_entry_id": "",
|
|
9
|
+
"status": "mutable",
|
|
10
|
+
"entry": {
|
|
11
|
+
"id": "13",
|
|
12
|
+
"title": "Click on the location of France on the map.",
|
|
13
|
+
"item_body": "<p>Click on the location of France on the map.</p>",
|
|
14
|
+
"calculator_type": "none",
|
|
15
|
+
"interaction_data": {
|
|
16
|
+
"image": {
|
|
17
|
+
"url": "https://example.com/europe_map.png",
|
|
18
|
+
"width": 800,
|
|
19
|
+
"height": 600
|
|
20
|
+
},
|
|
21
|
+
"regions": [
|
|
22
|
+
{
|
|
23
|
+
"id": "region1",
|
|
24
|
+
"shape": "rectangle",
|
|
25
|
+
"x": 320,
|
|
26
|
+
"y": 220,
|
|
27
|
+
"width": 80,
|
|
28
|
+
"height": 100
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"properties": {},
|
|
33
|
+
"scoring_data": { "value": ["region1"] },
|
|
34
|
+
"answer_feedback": {},
|
|
35
|
+
"scoring_algorithm": "PartialDeep",
|
|
36
|
+
"created_at": "2026-04-23T10:00:00.000Z",
|
|
37
|
+
"updated_at": "2026-04-23T10:00:00.000Z",
|
|
38
|
+
"tag_associations": [],
|
|
39
|
+
"interaction_type_slug": "hot_spot",
|
|
40
|
+
"feedback": {}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "3",
|
|
3
|
+
"position": 1,
|
|
4
|
+
"points_possible": 4.0,
|
|
5
|
+
"properties": { "required": false },
|
|
6
|
+
"entry_type": "Item",
|
|
7
|
+
"entry_editable": true,
|
|
8
|
+
"stimulus_quiz_entry_id": "",
|
|
9
|
+
"status": "mutable",
|
|
10
|
+
"entry": {
|
|
11
|
+
"id": "3",
|
|
12
|
+
"title": "Match each animal to its classification.",
|
|
13
|
+
"item_body": "<p>Match each animal to its classification.</p>",
|
|
14
|
+
"calculator_type": "none",
|
|
15
|
+
"interaction_data": {
|
|
16
|
+
"answers": ["Mammal", "Bird", "Fish", "Reptile", "Amphibian"],
|
|
17
|
+
"questions": [
|
|
18
|
+
{ "id": "q1", "item_body": "Dog" },
|
|
19
|
+
{ "id": "q2", "item_body": "Eagle" },
|
|
20
|
+
{ "id": "q3", "item_body": "Salmon" },
|
|
21
|
+
{ "id": "q4", "item_body": "Snake" }
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"properties": {
|
|
25
|
+
"shuffle_rules": { "questions": { "shuffled": false } }
|
|
26
|
+
},
|
|
27
|
+
"scoring_data": {
|
|
28
|
+
"value": {
|
|
29
|
+
"q1": "Mammal",
|
|
30
|
+
"q2": "Bird",
|
|
31
|
+
"q3": "Fish",
|
|
32
|
+
"q4": "Reptile"
|
|
33
|
+
},
|
|
34
|
+
"edit_data": {
|
|
35
|
+
"matches": [
|
|
36
|
+
{ "answer_body": "Mammal", "question_id": "q1", "question_body": "Dog" },
|
|
37
|
+
{ "answer_body": "Bird", "question_id": "q2", "question_body": "Eagle" },
|
|
38
|
+
{ "answer_body": "Fish", "question_id": "q3", "question_body": "Salmon" },
|
|
39
|
+
{ "answer_body": "Reptile","question_id": "q4", "question_body": "Snake" }
|
|
40
|
+
],
|
|
41
|
+
"distractors": ["Amphibian"]
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"answer_feedback": {},
|
|
45
|
+
"scoring_algorithm": "PartialDeep",
|
|
46
|
+
"created_at": "2026-04-23T10:00:00.000Z",
|
|
47
|
+
"updated_at": "2026-04-23T10:00:00.000Z",
|
|
48
|
+
"tag_associations": [],
|
|
49
|
+
"interaction_type_slug": "matching",
|
|
50
|
+
"feedback": {}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "6",
|
|
3
|
+
"position": 1,
|
|
4
|
+
"points_possible": 3.0,
|
|
5
|
+
"properties": { "required": false },
|
|
6
|
+
"entry_type": "Item",
|
|
7
|
+
"entry_editable": true,
|
|
8
|
+
"stimulus_quiz_entry_id": "",
|
|
9
|
+
"status": "mutable",
|
|
10
|
+
"entry": {
|
|
11
|
+
"id": "6",
|
|
12
|
+
"title": "Which of the following are prime numbers?",
|
|
13
|
+
"item_body": "<p>Which of the following are prime numbers? Select all that apply.</p>",
|
|
14
|
+
"calculator_type": "none",
|
|
15
|
+
"interaction_data": {
|
|
16
|
+
"choices": [
|
|
17
|
+
{ "id": "choice1", "position": 1, "item_body": "<p>2</p>" },
|
|
18
|
+
{ "id": "choice2", "position": 2, "item_body": "<p>4</p>" },
|
|
19
|
+
{ "id": "choice3", "position": 3, "item_body": "<p>7</p>" },
|
|
20
|
+
{ "id": "choice4", "position": 4, "item_body": "<p>9</p>" },
|
|
21
|
+
{ "id": "choice5", "position": 5, "item_body": "<p>11</p>" }
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"properties": {
|
|
25
|
+
"shuffle_rules": {
|
|
26
|
+
"choices": { "to_lock": [], "shuffled": false }
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"scoring_data": { "value": ["choice1", "choice3", "choice5"] },
|
|
30
|
+
"answer_feedback": {},
|
|
31
|
+
"scoring_algorithm": "PartialScore",
|
|
32
|
+
"created_at": "2026-04-23T10:00:00.000Z",
|
|
33
|
+
"updated_at": "2026-04-23T10:00:00.000Z",
|
|
34
|
+
"tag_associations": [],
|
|
35
|
+
"interaction_type_slug": "multi-answer",
|
|
36
|
+
"feedback": {}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "11",
|
|
3
|
+
"position": 1,
|
|
4
|
+
"points_possible": 3.0,
|
|
5
|
+
"properties": { "required": false },
|
|
6
|
+
"entry_type": "Item",
|
|
7
|
+
"entry_editable": true,
|
|
8
|
+
"stimulus_quiz_entry_id": "",
|
|
9
|
+
"status": "mutable",
|
|
10
|
+
"entry": {
|
|
11
|
+
"id": "11",
|
|
12
|
+
"title": "What is the boiling point of water in degrees Celsius?",
|
|
13
|
+
"item_body": "<p>What is the boiling point of water in degrees Celsius?</p>",
|
|
14
|
+
"calculator_type": "none",
|
|
15
|
+
"interaction_data": {},
|
|
16
|
+
"properties": {},
|
|
17
|
+
"scoring_data": {
|
|
18
|
+
"value": [
|
|
19
|
+
{ "id": "1", "type": "exactResponse", "value": "100" }
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
"answer_feedback": {},
|
|
23
|
+
"scoring_algorithm": "Numeric",
|
|
24
|
+
"created_at": "2026-04-23T10:00:00.000Z",
|
|
25
|
+
"updated_at": "2026-04-23T10:00:00.000Z",
|
|
26
|
+
"tag_associations": [],
|
|
27
|
+
"interaction_type_slug": "numeric",
|
|
28
|
+
"feedback": {}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "7",
|
|
3
|
+
"position": 1,
|
|
4
|
+
"points_possible": 4.0,
|
|
5
|
+
"properties": { "required": false },
|
|
6
|
+
"entry_type": "Item",
|
|
7
|
+
"entry_editable": true,
|
|
8
|
+
"stimulus_quiz_entry_id": "",
|
|
9
|
+
"status": "mutable",
|
|
10
|
+
"entry": {
|
|
11
|
+
"id": "7",
|
|
12
|
+
"title": "Order the planets from closest to farthest from the Sun.",
|
|
13
|
+
"item_body": "<p>Order the planets from closest to farthest from the Sun.</p>",
|
|
14
|
+
"calculator_type": "none",
|
|
15
|
+
"interaction_data": {
|
|
16
|
+
"choices": {
|
|
17
|
+
"choice1": { "id": "choice1", "item_body": "<p>Mercury</p>" },
|
|
18
|
+
"choice2": { "id": "choice2", "item_body": "<p>Venus</p>" },
|
|
19
|
+
"choice3": { "id": "choice3", "item_body": "<p>Earth</p>" },
|
|
20
|
+
"choice4": { "id": "choice4", "item_body": "<p>Mars</p>" }
|
|
21
|
+
},
|
|
22
|
+
"item_body": ""
|
|
23
|
+
},
|
|
24
|
+
"properties": {
|
|
25
|
+
"top_label": "",
|
|
26
|
+
"bottom_label": "",
|
|
27
|
+
"shuffle_rules": null,
|
|
28
|
+
"include_labels": true,
|
|
29
|
+
"display_answers_paragraph": false
|
|
30
|
+
},
|
|
31
|
+
"scoring_data": { "value": ["choice1", "choice2", "choice3", "choice4"] },
|
|
32
|
+
"answer_feedback": {},
|
|
33
|
+
"scoring_algorithm": "DeepEquals",
|
|
34
|
+
"created_at": "2026-04-23T10:00:00.000Z",
|
|
35
|
+
"updated_at": "2026-04-23T10:00:00.000Z",
|
|
36
|
+
"tag_associations": [],
|
|
37
|
+
"interaction_type_slug": "ordering",
|
|
38
|
+
"feedback": {}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "8",
|
|
3
|
+
"position": 1,
|
|
4
|
+
"points_possible": 2.0,
|
|
5
|
+
"properties": {},
|
|
6
|
+
"entry_type": "Item",
|
|
7
|
+
"entry_editable": true,
|
|
8
|
+
"stimulus_quiz_entry_id": "",
|
|
9
|
+
"status": "mutable",
|
|
10
|
+
"entry": {
|
|
11
|
+
"id": "8",
|
|
12
|
+
"title": "What process do plants use to convert sunlight into food?",
|
|
13
|
+
"item_body": "<p>What process do plants use to convert sunlight into food?</p>",
|
|
14
|
+
"calculator_type": "none",
|
|
15
|
+
"interaction_data": {
|
|
16
|
+
"answers": [
|
|
17
|
+
{ "id": "ans1", "item_body": "photosynthesis" },
|
|
18
|
+
{ "id": "ans2", "item_body": "Photosynthesis" }
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
"properties": {},
|
|
22
|
+
"scoring_data": { "value": ["ans1", "ans2"] },
|
|
23
|
+
"answer_feedback": {},
|
|
24
|
+
"scoring_algorithm": "Equivalence",
|
|
25
|
+
"created_at": "2026-04-23T10:00:00.000Z",
|
|
26
|
+
"updated_at": "2026-04-23T10:00:00.000Z",
|
|
27
|
+
"tag_associations": [],
|
|
28
|
+
"interaction_type_slug": "short_answer",
|
|
29
|
+
"feedback": {}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "14",
|
|
3
|
+
"position": 1,
|
|
4
|
+
"points_possible": 0.0,
|
|
5
|
+
"properties": {},
|
|
6
|
+
"entry_type": "Stimulus",
|
|
7
|
+
"entry_editable": true,
|
|
8
|
+
"stimulus_quiz_entry_id": "",
|
|
9
|
+
"status": "mutable",
|
|
10
|
+
"entry": {
|
|
11
|
+
"id": "14",
|
|
12
|
+
"title": "Reading Passage: The Water Cycle",
|
|
13
|
+
"item_body": "<p>The water cycle describes the continuous movement of water on, above, and below Earth's surface. Water evaporates from oceans and lakes, rises into the atmosphere, condenses into clouds, and falls back to the ground as precipitation.</p>",
|
|
14
|
+
"calculator_type": "none",
|
|
15
|
+
"interaction_data": {},
|
|
16
|
+
"properties": {},
|
|
17
|
+
"scoring_data": {},
|
|
18
|
+
"answer_feedback": {},
|
|
19
|
+
"scoring_algorithm": "None",
|
|
20
|
+
"created_at": "2026-04-23T10:00:00.000Z",
|
|
21
|
+
"updated_at": "2026-04-23T10:00:00.000Z",
|
|
22
|
+
"tag_associations": [],
|
|
23
|
+
"interaction_type_slug": "stimulus",
|
|
24
|
+
"feedback": {}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "2",
|
|
3
|
+
"position": 1,
|
|
4
|
+
"points_possible": 1.0,
|
|
5
|
+
"properties": {},
|
|
6
|
+
"entry_type": "Item",
|
|
7
|
+
"entry_editable": true,
|
|
8
|
+
"stimulus_quiz_entry_id": "",
|
|
9
|
+
"status": "mutable",
|
|
10
|
+
"entry": {
|
|
11
|
+
"id": "2",
|
|
12
|
+
"title": "The Earth orbits the Sun.",
|
|
13
|
+
"item_body": "<p>The Earth orbits the Sun.</p>",
|
|
14
|
+
"calculator_type": "none",
|
|
15
|
+
"interaction_data": {
|
|
16
|
+
"true_choice": "True",
|
|
17
|
+
"false_choice": "False"
|
|
18
|
+
},
|
|
19
|
+
"properties": {},
|
|
20
|
+
"scoring_data": { "value": true },
|
|
21
|
+
"answer_feedback": {},
|
|
22
|
+
"scoring_algorithm": "Equivalence",
|
|
23
|
+
"created_at": "2026-04-23T10:00:00.000Z",
|
|
24
|
+
"updated_at": "2026-04-23T10:00:00.000Z",
|
|
25
|
+
"tag_associations": [],
|
|
26
|
+
"interaction_type_slug": "true-false",
|
|
27
|
+
"feedback": {}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
File without changes
|
data/spec/fixtures/ok.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/fixtures/outcomes.json
CHANGED
|
File without changes
|
|
File without changes
|
data/spec/fixtures/pages.json
CHANGED
|
File without changes
|
data/spec/fixtures/progress.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/fixtures/rubric.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/fixtures/section.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/helper.rb
CHANGED
|
@@ -8,6 +8,13 @@ require 'csv'
|
|
|
8
8
|
|
|
9
9
|
WebMock.disable_net_connect!
|
|
10
10
|
|
|
11
|
+
RSpec.configure do |config|
|
|
12
|
+
# The suite mixes the older `should`/`stub` syntax with newer `expect`;
|
|
13
|
+
# enable both explicitly so RSpec 3 runs them without deprecation noise.
|
|
14
|
+
config.expect_with(:rspec) { |c| c.syntax = %i[should expect] }
|
|
15
|
+
config.mock_with(:rspec) { |c| c.syntax = %i[should expect] }
|
|
16
|
+
end
|
|
17
|
+
|
|
11
18
|
def fixture(*file)
|
|
12
19
|
File.new(File.join(File.expand_path("../fixtures", __FILE__), *file))
|
|
13
20
|
end
|