Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
E EducationalTests
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Jira
    • Jira
  • Merge requests 2
    • Merge requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Tigran Manasyn
  • EducationalTests
  • Merge requests
  • !2

Merged
Created May 19, 2020 by Tigran Manasyn@tigrulya-exeMaintainer

Добавление логики по прохождению тестов.

  • Overview 0
  • Commits 5
  • Changes 15

Примерная схема взаимодействия: Зарегистрированный пользователь выбирает Stage, который ему доступен (у юзера хватает очков). Если Stage является тестом, то

  1. Клиент отправляет POST запрос на /api/v1/stages/test/{testStageId}/start, где testStageId - id текущей стадии с тестом.
  2. Сервер создает сущность сесии (UserTestProgress) и отправляет ее айдишник пользователю.
  3. Клиент отправляет GET запрос на api/v1/stages/test/{userTestProgressId}/next для получения следующего вопроса. Если такие еще остались, то сервер возвращает сущность с такими данными, иначе null.
  4. Клиент, выбрав вариант ответа отправляет айдишник этого варианта POST запросом на /api/v1/stages/test/{userTestProgressId}/answer. Сервер добавляет баллы в сесиию, если ответ верен и отправляет айдишник правильного ответа.

Все это выполняется до тех пор, пока вопросы в тесте не закончатся и сервер на запрос пункта 3. не отправит null. Если вопросы кончились, сервер добавляет все баллы сессии пользователю и ставит сесии статус FINISHED.

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: feature/ED-42-test-pass