sensei
sensei copied to clipboard
Refactor the quiz data logic using a new abstraction layer
Goal
The goal of this card is to wrap the current quiz data logic using a new abstraction layer for the quiz answers, feedback, grading, and questions asked.
Scope
- Create an abstraction layer that will follow the current quiz logic and be responsible for all CRUD operations.
- Refactor the current quiz code to use the new abstraction layer.
- Deprecate the old methods.
- Keep all the logic the same as before.
Acceptance Criteria
Scenario: Interacting with the quiz answers uses the new abstraction layer under the hood Given I'm a user When I create/read/update/delete a quiz answer Then the new abstraction layer is used to handle that action
Scenario: Interacting with the quiz feedback uses the new abstraction layer under the hood Given I'm a user When I create/read/update/delete a quiz feedback Then the new abstraction layer is used to handle that action
Scenario: Interacting with the quiz grading uses the new abstraction layer under the hood Given I'm a user When I create/read/update/delete a quiz grading Then the new abstraction layer is used to handle that action
Scenario: Interacting with the quiz questions asked uses the new abstraction layer under the hood Given I'm a user When I create/read/update/delete the quiz questions asked Then the new abstraction layer is used to handle that action
Scenario: No logic changes for the users Given I'm a student or a teacher When I use the Sensei LMS plugin Then I should see no changes to the quiz/answers/grading logic