CSC/ECE 517 Spring 2016/Refactor and write unit tests for question type.rb: Difference between revisions
Line 10: | Line 10: | ||
*view_completed_question ~> when student view existed peer reviews | *view_completed_question ~> when student view existed peer reviews | ||
Expertiza question types inheritance hierarchy | ===Expertiza question types inheritance hierarchy=== | ||
*Choice question | *Choice question | ||
**Scored question | **Scored question | ||
Line 18: | Line 19: | ||
***Dropdown | ***Dropdown | ||
***CheckBox | ***CheckBox | ||
*TextResponse | |||
**TextArea | |||
**TextField | |||
*UploadFile | *UploadFile | ||
===Files problem=== | |||
There are some issues in each file, such as security, complexity, duplication, etc. And currently there is no unit tests for [question_type].rb. | |||
===Our contribution=== | |||
Refactor these [question_type].rb files and fix issues. | Refactor these [question_type].rb files and fix issues. | ||
Keep the inputs and outputs of these methods (edit, view, complete, view_completed_question) the same as before. | Keep the inputs and outputs of these methods (edit, view, complete, view_completed_question) the same as before. |
Revision as of 21:09, 21 March 2016
This wiki page is for the description of changes made under E1608 OSS assignment for Spring 2016, CSC/ECE 517. The assignment task is to refactor & write unit tests for [question_type].rb (eg. criterion.rb).
Problem Statement
Files involved: criterion.rb, scale.rb, checkbox.rb, questionnaire_header.rb, upload_file.rb. There are 4 methods “edit”, “view_question_text”, “complete” and “view_completed_question” correspond to different views.
- edit ~> when instructor add/edit new questions
- view ~> when instructor view existed questions
- complete ~> when students do peer reviews
- view_completed_question ~> when student view existed peer reviews
Expertiza question types inheritance hierarchy
- Choice question
- Scored question
- Scale
- Criterion
- Unscored question
- Dropdown
- CheckBox
- Scored question
- TextResponse
- TextArea
- TextField
- UploadFile
Files problem
There are some issues in each file, such as security, complexity, duplication, etc. And currently there is no unit tests for [question_type].rb.
Our contribution
Refactor these [question_type].rb files and fix issues. Keep the inputs and outputs of these methods (edit, view, complete, view_completed_question) the same as before. Write unit tests for [question_type].rb listed above. Create RSpec files for each question type in /spec/models/ folder Create multiple tests to check valid and invalid cases, such as input including special character double quote (“”).