E2372. Reimplement QuizQuestion and its child classes #2682
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Note
Successor: #2687
Problem
There are four methods in QuizQuestion super class. edit, view_question_text, view_completed_question, and complete. These 4 (model) methods will return different html strings depends on the question type.
edit
What to display` - if an instructor (etc.) is creating or editing a questionnaire (questionnaires_controller.rb)view_question_text
- What to display if an instructor (etc.) is viewing a questionnaire (questionnaires_controller.rb)complete What to display
- if a student is filling out a questionnaire (response_controller.rb)view_completed_question
- What to display if a student is viewing a filled-out questionnaire (response_controller.rb)However, MultipleChoiceCheckbox, MultipleChoiceRadio, and TrueFalse classes all contain a method called isvalid method, which should be included in QuizQuestions class as well.
What you should do:
Solution
isvalid()
to QuizQuestionedit()
within QuizQuestion@html
instead ofhtml
UML Diagram
Review responsibilities