Skip to content

Commit

Permalink
Diagnostic test session (oppia#16489)
Browse files Browse the repository at this point in the history
* Adds diagnostic test player page

* Adds html text

* Adds frontend unit tests

* Adds backend tests

* Fixes linter issue

* Fixes mypy issues

* Fixes typescript checks

* Updates copyright text.

* Adds diagnostic test model

* Alignes diagnostic test player with the question player

* Internationalized diagnostic test texts

* Adds css rules

* Adds Qqq text.

* Adds frontend unit tests

* Fixes lint issues

* Adds test file to the backend shard.

* Adds unit test

* Fixes lint issues

* Fixes lint issues

* Fixes typescript issue.

* Sort i18n keys

* Adds frontend unit test for the diagnostic test model.

* Create diagnostic test topic state model

* Adds submit and init metods for engine service

* Addressed review comments

* Updates file docstring + removes extra new line

* Adds frontend unit test

* Replaces number with a named constant.

* Updates UI for the diagnostic page

* Removes redundant css class

* Loads first card

* Adds code comment

* Adds diagnostic test topic state model

* Adds diagnostic test topic state model

* Fixes lint issues.

* Adds code comments and unit tests

* Renamed variables

* Adds code comment

* Adds diagnostic test questions handler

* Adds diagnostic test questions API method

* Renames into diagnostic test topic tracker model

* Updates variable name

* Fixes lint issues

* Updates diagnostic test current topic status model

* Fixes lint issues

* Updates code comments

* Removes type safety check for pop method

* Updates API data schema for the diagnostic test skill id to questions

* Fixes mypy checks

* Fixes typescript check

* Fixes lint issue

* Fixes backend test

* Addresses review comments

* Removes unwanted files

* Adds submit method

* Fixes submit button issue

* Adds logic in the conversation skin component

* Adds test status service

* Addresses review comments

* Fixes lint issue.

* Addresses review comments

* Adds test for the question player status service

* Fixes mypy issues

* Adds frontend tests

* Addresses review comments

* Fixes lint and typescript checks

* Removes print stamt

* Fixes lint and typescript checks

* Removes redundant code

* Adds questions for testing

* Adds customizations

* Adds guidance tile on the math classroom page.

* Adds diagnostic test result page UI

* Updates handler logic to avoid duplicate questions

* Addresses review comments

* Adds progress functionality.

* Updates backend logic to avoid duplicate questions

* Adds backend unit test for coverage

* Fixes typo

* Adds progress bar

* Updates min question requirement for the diagnostic test skill

* Fixes frontend tests

* Fixes e2e test

* Updates code comments

* Fixes UI

* Adds skip functionality

* Fixes dummy data creation

* Fixes first topic button

* Fixes result page buttons

* Adds back button

* Adds page unload events

* Fixes console error

* Removes unwanted changes

* Fixes lint issues

* Fixes mypy checks

* Fixes typescript checks

* Fixes mcq questions

* Adds different module components

* Removes unwanted lines

* Adds handler to get classroom ID

* Adds frontend tests

* Addresses review comments

* Updates mili sec to wait condition

* Fixes lint issues

* Adds backend and frontend test coverage

* Fixes lint issues

* Fixes e2e test yaml file

* Fixes indentation

* Updates progress component

* Adds e2e test for the  diagnostic test

* Fixes frontend test

* Fixes frontend test

* Addresses review comments

* Adds translation text

* Fixes typo

* Adds code comment

* Updates progress nav component

* Fixes lint issues

* Adds internationalized texts

* Fixes typo

* Adds test code.

* Diagnostic test e2e test

* Removes unwanted code.

* Updates varible name.

* Adds code comment

* Adds internationalized text

* Fixes e2e test

* Adds todo comment

* Fixes frontend test

* Make skip button variable available from the top level

* Adds feedback flag for embedded explorations

* Modifies code comment and variable name

* Adds e2e test

* Adds info text for mcq questions

* Video recording + waitFor in the diagnostic test

* Adds waitfor in the diagnostic test page

* Fixes e2e test

* Removes e2e github workflow for testing

* Fix selector for e2e test

* Adds webpack build

* Trial e2e test fix

* Trial2 e2e test fix

* Addresses review comments

* Adds github workflow cmds back

* Fixes e2e test

* Fixes e2e test

* Fixes lint issues

* Disables video recording

* Fixes lint issues

* Updates buttons css

* fixes typescript check

* Removes unnecessary clickable checks

* Removes redundant visbility checks from e2e test
Nik-09 authored Nov 23, 2022
1 parent e915b3d commit c6c6f56
Showing 51 changed files with 2,023 additions and 173 deletions.
Original file line number Diff line number Diff line change
@@ -49,17 +49,22 @@ jobs:
- name: Run Exploration Translation Tab E2E Test
if: ${{ steps.check-risk.outputs.is-low-risk != 0 }}
run: xvfb-run -a --server-args="-screen 0, 1285x1000x24" python -m scripts.run_e2e_tests --skip-build --skip-install --suite="explorationTranslationTab" --prod_env
env:
env:
VIDEO_RECORDING_IS_ENABLED: 0
- name: Run Classroom Page E2E Test
if: ${{ steps.check-risk.outputs.is-low-risk != 0 }}
run: xvfb-run -a --server-args="-screen 0, 1285x1000x24" python -m scripts.run_e2e_tests --skip-build --skip-install --suite="classroomPage" --prod_env
env:
env:
VIDEO_RECORDING_IS_ENABLED: 0
- name: Run Diagnostic Test Player Page E2E Test
if: ${{ steps.check-risk.outputs.is-low-risk != 0 }}
run: xvfb-run -a --server-args="-screen 0, 1285x1000x24" python -m scripts.run_e2e_tests --skip-build --skip-install --suite="diagnosticTestPage" --prod_env
env:
VIDEO_RECORDING_IS_ENABLED: 0
- name: Run Core Editor And Player E2E Test
if: ${{ steps.check-risk.outputs.is-low-risk != 0 }}
run: xvfb-run -a --server-args="-screen 0, 1285x1000x24" python -m scripts.run_e2e_tests --skip-build --skip-install --suite="coreEditorAndPlayerFeatures" --prod_env
env:
env:
VIDEO_RECORDING_IS_ENABLED: 0
- name: Uploading webdriverio-video as Artifacts
if: ${{ steps.check-risk.outputs.is-low-risk != 0 && always() }}
16 changes: 16 additions & 0 deletions assets/i18n/en.json
Original file line number Diff line number Diff line change
@@ -166,11 +166,17 @@
"I18N_CLASSROOM_CALLOUT_HEADING_2": "Introducing: The Oppia Classroom",
"I18N_CLASSROOM_CALLOUT_PARAGRAPH_1": "Check out the first comprehensive course in the all-new Oppia Classroom! Curated lessons - reviewed by educators - so that you can master basic math skills in topics ranging from Place Values to Multiplication and Division.",
"I18N_CLASSROOM_MATH_TITLE": "Math",
"I18N_CLASSROOM_PAGE_ALREADY_KNOW_SOME_MATH_HEADING": "Already know some math?",
"I18N_CLASSROOM_PAGE_ALREADY_KNOW_SOME_MATH_TEXT": "Take a 10-15 question quiz to find out where to start.",
"I18N_CLASSROOM_PAGE_BEGIN_WITH_FIRST_TOPIC_BUTTON": "Begin with <[firstTopic]>",
"I18N_CLASSROOM_PAGE_COMING_SOON": "Coming Soon",
"I18N_CLASSROOM_PAGE_COURSE_DETAILS": "Course Details",
"I18N_CLASSROOM_PAGE_HEADING": "The Oppia Classroom",
"I18N_CLASSROOM_PAGE_NEW_TO_MATH_HEADING": "New to math?",
"I18N_CLASSROOM_PAGE_NEW_TO_MATH_TEXT": "Start from the basics with our first topic, <[firstTopic]>.",
"I18N_CLASSROOM_PAGE_SEARCH_BAR_HEADING": "Explore More Lessons Made by the Community",
"I18N_CLASSROOM_PAGE_SEARCH_BAR_SUBHEADING": "Search through our Community Library",
"I18N_CLASSROOM_PAGE_TAKE_A_TEST_BUTTON": "Take a test",
"I18N_CLASSROOM_PAGE_TITLE": "Learn <[classroomName]> with Oppia | Oppia",
"I18N_CLASSROOM_PAGE_TOPICS_COVERED": "Topics Covered",
"I18N_COLLECTION_EDITOR_PAGE_TITLE": "<[collectionTitle]> - Oppia Editor",
@@ -310,8 +316,18 @@
"I18N_DELETE_LEARNER_GROUP": "Delete Group",
"I18N_DELETE_LEARNER_GROUP_MODAL_BODY_TEXT": "Are you sure you want to delete <b><[groupName]></b> learner group?",
"I18N_DEST_IF_STUCK_INFO_TOOLTIP": "You can now specify a new card in which you can walk the learners through the concepts used in the question, if they get really stuck!",
"I18N_DIAGNOSTIC_TEST_CURRENT_PROGRESS": "Current Progress: <[progressPercentage]> %",
"I18N_DIAGNOSTIC_TEST_EXIT_TEST": "Exit Test",
"I18N_DIAGNOSTIC_TEST_HEADING": "Learner Diagnostic Test",
"I18N_DIAGNOSTIC_TEST_INTRO_TEXT_1": "Answer a few questions to help us recommend a few topics for you to get started with Math lessons.",
"I18N_DIAGNOSTIC_TEST_INTRO_TEXT_2": "Please note that you will not be able to change your answer after moving to the next question.",
"I18N_DIAGNOSTIC_TEST_RESULT_GO_TO_CLASSROOM_BUTTON_TEXT": "Go to classroom",
"I18N_DIAGNOSTIC_TEST_RESULT_HEADER_TEXT": "Test complete. Well done!",
"I18N_DIAGNOSTIC_TEST_RESULT_START_TOPIC": "Start <[topicName]>",
"I18N_DIAGNOSTIC_TEST_RESULT_TEXT_1_FOR_NO_TOPIC": "Great job! It seems you already have a good understanding of the topics in the Math Classroom.",
"I18N_DIAGNOSTIC_TEST_RESULT_TEXT_2_FOR_NO_TOPIC": "Feel free to go through any of the lessons to review or improve upon what you know. We are constantly updating the Classroom with new lessons, so check back again.",
"I18N_DIAGNOSTIC_TEST_RESULT_TEXT_FOR_ONE_TOPIC": "Based on your answers, we recommend starting with this topic.",
"I18N_DIAGNOSTIC_TEST_RESULT_TEXT_FOR_TWO_TOPICS": "Based on your answers, we recommend starting with either one of these topics.",
"I18N_DIAGNOSTIC_TEST_START_BUTTON": "Start the test",
"I18N_DIRECTIVES_DRAG_IMAGE_HERE": "Drag an image into this area",
"I18N_DIRECTIVES_UPLOAD_A_FILE": "Upload a file",
20 changes: 18 additions & 2 deletions assets/i18n/qqq.json
Original file line number Diff line number Diff line change
@@ -166,11 +166,17 @@
"I18N_CLASSROOM_CALLOUT_HEADING_2": "The subheading for the callout to the classroom page which is present in the library page.",
"I18N_CLASSROOM_CALLOUT_PARAGRAPH_1": "Text for description of the callout to the classroom page which is present in the library page.",
"I18N_CLASSROOM_MATH_TITLE": "The classroom name that is displayed on the classroom page.",
"I18N_CLASSROOM_PAGE_ALREADY_KNOW_SOME_MATH_HEADING": "The heading text is on the right tile of the math classroom page. It asks the learner whether they already know some math.",
"I18N_CLASSROOM_PAGE_ALREADY_KNOW_SOME_MATH_TEXT": "The text is on the right tile of the math classroom page. It guides the learner to take a quiz that contains 10-15 questions. The result of the quiz will help to find out the topic from where the learner can start learning.",
"I18N_CLASSROOM_PAGE_BEGIN_WITH_FIRST_TOPIC_BUTTON": "Text is displayed on a button that, when clicked, starts the first lesson from the math classroom page.",
"I18N_CLASSROOM_PAGE_COMING_SOON": "The text displayed on a topic card in the classroom page when it is not published and inaccessible to the learner.",
"I18N_CLASSROOM_PAGE_COURSE_DETAILS": "The header displayed above the course details section in the classroom page.",
"I18N_CLASSROOM_PAGE_HEADING": "The header displayed above the classroom name in the classroom page.",
"I18N_CLASSROOM_PAGE_NEW_TO_MATH_HEADING": "The heading text is on the left tile of the math classroom page. It asks the learner, whether they are new to math.",
"I18N_CLASSROOM_PAGE_NEW_TO_MATH_TEXT": "The text is on the left tile of the math classroom page. It guides the learner to start with the basic math with our first topic.",
"I18N_CLASSROOM_PAGE_SEARCH_BAR_HEADING": "The heading for the search bar at the bottom of the classroom page.",
"I18N_CLASSROOM_PAGE_SEARCH_BAR_SUBHEADING": "The subheading for the search bar at the bottom of the classroom page.",
"I18N_CLASSROOM_PAGE_TAKE_A_TEST_BUTTON": "The text is displayed on the right tile of the math classroom page. The text asks the learner to take a test. After clicking the button the diagnostic test session will start, which helps to recommend a topic to the learner.",
"I18N_CLASSROOM_PAGE_TITLE": "The title displayed on the browser tab when on a classroom page.",
"I18N_CLASSROOM_PAGE_TOPICS_COVERED": "The header displayed above the topics list section in the classroom page.",
"I18N_COLLECTION_EDITOR_PAGE_TITLE": "The title displayed on the browser tab when on the collection editor page and the collection is not untitled.",
@@ -310,8 +316,18 @@
"I18N_DELETE_LEARNER_GROUP": "Delete learner group button text displayed in preferences tab on the edit learner group page.",
"I18N_DELETE_LEARNER_GROUP_MODAL_BODY_TEXT": "Confirmation message displayed in the modal body when the facilitator clicks on the delete learner group button on edit learner group page.",
"I18N_DEST_IF_STUCK_INFO_TOOLTIP": "You can now specify a new card in which you can walk the learners through the concepts used in the question, if they get really stuck!",
"I18N_DIAGNOSTIC_TEST_INTRO_TEXT_1": "Text displayed on the diagnostic test player page telling user that in the diagnostic test they will get a topic recommendation for getting started with Math lessons.",
"I18N_DIAGNOSTIC_TEST_INTRO_TEXT_2": "Text displayed on the diagnostic test player page telling user that they will not be able to change their answer after moving to the next question.",
"I18N_DIAGNOSTIC_TEST_CURRENT_PROGRESS": "The text is displayed on the bottom right of the progress bar of the diagnostic test page. This text displays the progress percentage of the user in the diagnostic test.",
"I18N_DIAGNOSTIC_TEST_EXIT_TEST": "The text is displayed on the top left corner of the diagnostic test page. This guides the learner to quit the test.",
"I18N_DIAGNOSTIC_TEST_HEADING": "The text is displayed on the top center of the diagnostic test page. This text is the heading of the page.",
"I18N_DIAGNOSTIC_TEST_INTRO_TEXT_1": "Text displayed on the diagnostic test player page telling user that in the diagnostic test they will get a topic recommendation for getting started with Math lessons.",
"I18N_DIAGNOSTIC_TEST_INTRO_TEXT_2": "Text displayed on the diagnostic test player page telling user that they will not be able to change their answer after moving to the next question.",
"I18N_DIAGNOSTIC_TEST_RESULT_GO_TO_CLASSROOM_BUTTON_TEXT": "The text is displayed on the result page of the diagnostic test. This guides the learner to go back to the classroom.",
"I18N_DIAGNOSTIC_TEST_RESULT_HEADER_TEXT": "The text is presented on the result page header of the diagnostic test. The text congratulates the learner for their completion of the diagnostic test.",
"I18N_DIAGNOSTIC_TEST_RESULT_START_TOPIC": "The button text is present on the diagnostic test result page. The button guides the learner to start a topic. After clicking the button the learners are navigated to the topic viewer page.",
"I18N_DIAGNOSTIC_TEST_RESULT_TEXT_1_FOR_NO_TOPIC": "The text is presented on the result page of the diagnostic test. The text congratulates the learner for their basic understanding of the topics that are currently present in the Math Classroom.",
"I18N_DIAGNOSTIC_TEST_RESULT_TEXT_2_FOR_NO_TOPIC": "The text is presented on the result page of the diagnostic test. The text informs the learner to review any of the topics or improve what they know. The text also informs them to visit Oppia regularly as the Classroom is constantly updating.",
"I18N_DIAGNOSTIC_TEST_RESULT_TEXT_FOR_ONE_TOPIC": "The text is presented on the result page of the diagnostic test. The text guides the learner to start with the below topic.",
"I18N_DIAGNOSTIC_TEST_RESULT_TEXT_FOR_TWO_TOPICS": "The text is presented on the result page of the diagnostic test. The text guides the learner to start with any of the below topics.",
"I18N_DIAGNOSTIC_TEST_START_BUTTON": "Text displayed on the diagnostic test page. - When the user clicks the start button, the diagnostic test for the topic recommendation will start.",
"I18N_DIRECTIVES_DRAG_IMAGE_HERE": "Text displayed in the preferences page. - Text shown in the dialog shown to upload a profile picture. The user can upload the picture by dragging a file to the area with this text.",
"I18N_DIRECTIVES_UPLOAD_A_FILE": "Text displayed in the preferences page, or everywhere there's image upload to instruct the user to 'Upload a file' from their computer.",
Loading
Oops, something went wrong.

0 comments on commit c6c6f56

Please sign in to comment.