Skip to content

Commit

Permalink
feat: mfe uat fixes (#2138)
Browse files Browse the repository at this point in the history
* fix: return empoty list for files rather than none

* fixup! fix: return empoty list for files rather than none

* feat: add max file size to file config

* chore: version

* style: quality
  • Loading branch information
jansenk authored Dec 11, 2023
1 parent 337c68b commit d88d1a7
Show file tree
Hide file tree
Showing 8 changed files with 26 additions and 33 deletions.
2 changes: 1 addition & 1 deletion openassessment/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
Initialization Information for Open Assessment Module
"""

__version__ = '6.0.12'
__version__ = '6.0.13'
3 changes: 0 additions & 3 deletions openassessment/xblock/ui_mixins/mfe/assessment_serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,9 +169,6 @@ def get_textResponses(self, instance):
return [part["text"] for part in answer_text_parts]

def get_uploadedFiles(self, instance):
if not instance["answer"].get("file_keys"):
return None

response = OraSubmissionAnswerFactory.parse_submission_raw_answer(instance['answer'])
uploaded_files = []

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ class FileResponseConfigSerializer(Serializer):
allowedExtensions = CharListField(source="get_allowed_file_types_or_preset")
blockedExtensions = CharListField(source="FILE_EXT_BLACK_LIST")
fileTypeDescription = CharField(source="file_upload_type")
maxFileSize = IntegerField(default=524_288_000) # 500 MB. See AU-1602

def get_enabled(self, block):
return block.file_upload_response is not None
Expand Down
17 changes: 9 additions & 8 deletions openassessment/xblock/ui_mixins/mfe/page_context_serializer.py
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ def get_response(self, instance):
return None

# Submission (draft OR completed)
elif requested_step == "submission":
if requested_step == "submission":
learner_submission_data = instance.get_learner_submission_data()

# Draft response
Expand All @@ -336,25 +336,26 @@ def get_response(self, instance):
return SubmissionSerializer(learner_submission_data).data

# Student Training - return next example to practice or None
elif requested_step == "studentTraining":
if requested_step == "studentTraining":
response = instance.student_training_data.example
if response is None:
return None
return AssessmentResponseSerializer(response).data

# Peer
elif requested_step == "peer":
if requested_step == "peer":
response = instance.peer_assessment_data().get_peer_submission()
return AssessmentResponseSerializer(response).data

# Self / Done - Return your response to view / assess
elif requested_step in ("self", "done"):
if requested_step in ("self", "done"):
learner_submission_data = instance.get_learner_submission_data()
return SubmissionSerializer(learner_submission_data).data

# Steps without a necessary response
elif requested_step in ("staff"):
response = None

return AssessmentResponseSerializer(response).data
if requested_step in ("staff"):
return {}
return None

def get_assessment(self, instance):
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ def test_response(self, xblock):
# I get the appropriate response
expected_response = {
"textResponses": submission_text,
"uploadedFiles": None,
"uploadedFiles": [],
"teamUploadedFiles": None,
}
self.assertDictEqual(expected_response, data)
Expand All @@ -78,7 +78,7 @@ def test_files_empty(self, xblock):
# I get the appropriate response
expected_response = {
"textResponses": submission_text,
"uploadedFiles": None,
"uploadedFiles": [],
"teamUploadedFiles": None,
}
self.assertDictEqual(expected_response, data)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ def test_student_training(self, xblock):
# I get the appropriate response
expected_response = {
"textResponses": ["This is my answer."],
"uploadedFiles": None,
"uploadedFiles": [],
"teamUploadedFiles": None,
}
self.assertDictEqual(expected_response, response_data)
Expand Down Expand Up @@ -148,7 +148,7 @@ def test_peer_response(self, xblock, request_peer):
# I get my current assessment, if I had one, and if I didn't, one is assigned to me
expected_response = {
"textResponses": other_text_responses,
"uploadedFiles": None,
"uploadedFiles": [],
"teamUploadedFiles": None,
}
self.assertDictEqual(expected_response, response_data)
Expand Down Expand Up @@ -240,7 +240,7 @@ def test_jump_to_peer_available(self, xblock):
# Then I can continue to receive peer responses to grade
expected_response = {
"textResponses": other_text_responses,
"uploadedFiles": None,
"uploadedFiles": [],
"teamUploadedFiles": None,
}
self.assertDictEqual(expected_response, response_data["response"])
Expand Down
24 changes: 9 additions & 15 deletions openassessment/xblock/ui_mixins/mfe/test_serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,21 +105,15 @@ def test_file_response_config(self, xblock):
file_response_config = submission_config["fileResponseConfig"]

# Then I get the expected values
self.assertTrue(file_response_config["enabled"])
self.assertEqual(
file_response_config["fileUploadLimit"], xblock.MAX_FILES_COUNT
)
self.assertEqual(
file_response_config["fileTypeDescription"],
xblock.file_upload_type,
)
self.assertEqual(
file_response_config["allowedExtensions"],
xblock.get_allowed_file_types_or_preset(),
)
self.assertEqual(
file_response_config["blockedExtensions"], xblock.FILE_EXT_BLACK_LIST
)
assert file_response_config == {
'enabled': True,
'required': False,
'fileUploadLimit': xblock.MAX_FILES_COUNT,
'fileTypeDescription': xblock.file_upload_type,
'allowedExtensions': xblock.get_allowed_file_types_or_preset(),
'blockedExtensions': xblock.FILE_EXT_BLACK_LIST,
'maxFileSize': 524288000,
}

@scenario("data/team_submission.xml")
def test_team_ora_config(self, xblock):
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "edx-ora2",
"version": "6.0.12",
"version": "6.0.13",
"repository": "https://github.com/openedx/edx-ora2.git",
"dependencies": {
"@edx/frontend-build": "8.0.6",
Expand Down

0 comments on commit d88d1a7

Please sign in to comment.