Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exam mode: Display assessment check table in ExamChecklist component #8120

Merged
merged 66 commits into from
May 18, 2024

Conversation

eceeeren
Copy link
Contributor

@eceeeren eceeeren commented Mar 3, 2024

Checklist

General

Server

  • Important: I implemented the changes with a very good performance and prevented too many (unnecessary) database calls.
  • I strictly followed the server coding and design guidelines.
  • I added multiple integration tests (Spring) related to the features (with a high test coverage).
  • I added pre-authorization annotations according to the guidelines and checked the course groups for all new REST Calls (security).
  • I documented the Java code using JavaDoc style.

Client

  • Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data.
  • I strictly followed the client coding and design guidelines.
  • Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
  • I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
  • I added authorities to all new routes and checked the course groups for displaying navigation elements (links, buttons).
  • I documented the TypeScript code using JSDoc style.
  • I added multiple screenshots/screencasts of my UI changes.
  • I translated all newly inserted strings into English and German.

Motivation and Context

Closes #7540
During the exam evaluation phase, the instructors may forget to complete the manual assessments of the exams or grade quizzes and unsubmitted exercises since the buttons exist far from the eye.

This PR is created to give a more clear presentation of the assessments that are not finished yet, quizzes that are not fully assessed and unsubmitted assessments that are not graded yet to the instructors. The aim is to see unfinished assessments and check them right away.

Description

The aim is fulfilled by creating a table with check icons and buttons to grade/assess exercises directly for an easy and correct reviewing process.

Steps for Testing

Prerequisites:

  • 1 Instructor
  • 2 (or more) Students
  • 1 Exam
  1. Log in to Artemis
  2. Navigate to Course Management as Instructor
  3. Create a course if there is not an existing one
  4. Add 2+ students to the course
  5. Create an exam with "Visible from" in the past and "Start of working time" and "End of working time" in the future
  6. Set "Number of points" (e.g. 150 for 5 types) and "Number of exercises" (e.g. 5 types) to not have a problem with exam checklist
  7. Do not set "Release Date of Results" yet and save
  8. Go to Exam Checklist and check that if you can observe "x Publishing date for results set" as false at Exam correction > Publish the exam results and you can not see a table
  9. Got back to exam editing page and set "Release Date of Results" after "End of working time"
  10. Save exam and complete exam checklist (preferably create different exercise types) until you can hold a live exam
  11. Take "Start of working time" to the past and start the exam
  12. Log in with Student 1 and take the exam
  13. Log in with Student 2 and take the exam
    1. Navigate to Course Management > Exams > Exam Checklist, observe that there is a table and all the buttons are disabled because exam is not over yet
  14. If you have more than 2 students continue to take the exams, one of them should be started but not submitted (time is up)
  15. To finish testing faster, set "End of working time" as now
  16. Navigate to Course Management > Exams > Exam Checklist, observe that all of the buttons are activated (if Assessment did not finish, if there are quiz exercises and they are not assessed, if there are unsubmitted modelling & text exercises and they are not assessed to 0)
  17. Click "Assessment" button and verify you are redirected to Assessment Dashboard
  18. Click "Evaluate quizzes" and verify that you can now see a check and the button is disabled
  19. Click "Assess unsubmitted exams" and verify that you can now see a check and the button is disabled

Testserver States

Note

These badges show the state of the test servers.
Green = Currently available, Red = Currently locked







Review Progress

Performance Review

  • I (as a reviewer) confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance
  • I (as a reviewer) confirm that the server changes (in particular related to database calls) are implemented with a very good performance

Code Review

  • Code Review 1
  • Code Review 2

Manual Tests

  • Test 1
  • Test 2

Exam Mode Test

  • Test 1
  • Test 2

Test Coverage

Screenshots

Assessment Check Table when the exam is not over yet or all the assessments are checked
image

Assessment Check Table when the assessment is not finished yet
image

@github-actions github-actions bot added server Pull requests that update Java code. (Added Automatically!) client Pull requests that update TypeScript code. (Added Automatically!) labels Mar 3, 2024
@eceeeren eceeeren changed the title feature/Exam mode/Display warning in checklist with unassessed submissions Exam mode: Display warning in checklist with unassessed submissions Mar 3, 2024
@eceeeren eceeeren changed the title Exam mode: Display warning in checklist with unassessed submissions Display warning in checklist with unassessed submissions Mar 3, 2024
@eceeeren eceeeren changed the title Display warning in checklist with unassessed submissions Exam mode: Display warning in checklist with unassessed submissions Mar 3, 2024
@eceeeren eceeeren changed the title Exam mode: Display warning in checklist with unassessed submissions 'Exam mode': Display warning in checklist with unassessed submissions Mar 3, 2024
@eceeeren eceeeren changed the title 'Exam mode': Display warning in checklist with unassessed submissions Exam mode: Display warning in checklist with unassessed submissions Mar 3, 2024
@github-actions github-actions bot added the tests label Mar 4, 2024
@eceeeren eceeeren force-pushed the feature/display-warning-in-checklist branch from 8d69bd5 to 2b61c71 Compare March 4, 2024 23:30
coderabbitai[bot]
coderabbitai bot previously approved these changes May 10, 2024
Jan-Thurner
Jan-Thurner previously approved these changes May 10, 2024
@Jan-Thurner Jan-Thurner requested a review from beyzaaltuntas May 10, 2024 16:57
@eceeeren eceeeren dismissed stale reviews from Jan-Thurner and coderabbitai[bot] via 7cd19da May 12, 2024 08:59
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

coderabbitai[bot]
coderabbitai bot previously approved these changes May 12, 2024
Copy link
Contributor

@beyzaaltuntas beyzaaltuntas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-approve.

@krusche krusche added this to the 7.1.0 milestone May 18, 2024
@krusche krusche merged commit a140f78 into develop May 18, 2024
28 of 30 checks passed
@krusche krusche deleted the feature/display-warning-in-checklist branch May 18, 2024 11:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client Pull requests that update TypeScript code. (Added Automatically!) ready for review server Pull requests that update Java code. (Added Automatically!) tests too-long-open !!! This is an antipattern, we should aim for small PRs that are only open for a short time !!!
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Exam mode: Display warning in checklist if publishing results with unassessed submissions
8 participants