sensei icon indicating copy to clipboard operation
sensei copied to clipboard

Refactor the quiz data logic using a new abstraction layer

Open m1r0 opened this issue 3 years ago • 0 comments

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

m1r0 avatar Aug 09 '22 22:08 m1r0