-
Notifications
You must be signed in to change notification settings - Fork 520
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
Implement QuestionAssessmentProgressController [Blocked: #112] #111
Labels
Priority: Essential
This work item must be completed for its milestone.
Z-ibt
Temporary label for Ben to keep track of issues he's triaged.
Milestone
Comments
This was referenced Sep 17, 2019
BenHenning
changed the title
Implement QuestionAssessmentProgressController
Implement QuestionAssessmentProgressController [Blocked: #112]
Sep 17, 2019
This is blocked on #112. |
BenHenning
added
Where: Infrastructure
Priority: Essential
This work item must be completed for its milestone.
and removed
Status: Not started
labels
Sep 17, 2019
6 tasks
29 tasks
BenHenning
added a commit
that referenced
this issue
May 28, 2020
* Initial check in for the question data controller * Removed progress controller test * Address the renames suggested in #217. * Introduce thoroughly stubbed QuestionAssessmentProgressController + empty test suite. * Review changes * Review changes * Pass data providers to the assessment controller, and set caps in the training controller * Removed unnecessary imports/variables * Add fake question data for stubbed interfaces * Remove duplicate questions while fetching in training controller * Comment explaining the filter function * Improve duplicate checking - check it while filtering instead of after filtering * Add linked skill id values * Review changes * add a new module for questions constants * Review changes * add a test to verify questions were fetched properly * reformatted code * Re-add QuestionTrainingController removed in merge. * Finalize question progress controller interface. * Implement QuestionAssessmentProgressController. This includes some basic refactoring of internal structures used by the exploration progress controller to share common functionality between the two progress controllers. There's still some duplication, but this seems like a reasonable split since there's likely to be further differences in the progress controllers in the future. The question assessment progress controller tests pass, but no new ones have yet been added to thoroughly test the implementation. * Add initial phase of tests for the progress controller based on ExplorationProgressController. They haven't yet been verified as correct. * Fix typo in QuestionTrainingController. * Post-merge fixes and adjustments. * Fix broken ProfileManagementControllerTest. * Post-merge fixes. * Update tests to build, but not pass. * Fix question session not properly being reinitialized for new sessions. Also, ensure that notifications do not regenerate the training session. * Fix index accounting for questions. Before, the index incremented upon correct answer submission rather than navigation. * Remove support for backward navigation in questions since it isn't allowed. * Add support for a synthetic ephemeral question to represent the end of a training session. * Finish tests for Question{Training,AssessmentProgress}Controllers. Note that the nature of the assessment progress controller is such that a new, dynamic DataProvider is needed since the data provider for the current assessment question is actually a transformation of different data providers depending on which questions are passed to the controller. * Initial introduction of test coroutine dispatchers to replace Kotlin's test coroutine dispatcher. This includes introducing a test-only module to contain testing dependencies. * Introduce a new LiveData mechanism to bridge coroutines from DataProviders in a way that doesn't have the same limitations as the previous MutableLiveData-based bridge. * Introduce new nested data provider that effectively allows a DataProvider to be set up like transformAsync() but with the ability to change the root DataProvider. * Early work at introducing FakeSystemClock tests (not yet complete). * Remove unnecessary meta file for Mockito. * Minor import cleanup. * Remove infeasible testing structures, add documentation, and clean up implementation to prepare for code review. * Add notice that the dispatchers utility is temporary. * Cleanup new LiveData bridge, add tests for it, and migrate other DataProviders tests to using TestCoroutineDispatchers utility. * Add AsyncResult tests, fix & re-enable an earlier test in PersistentCacheStoreTest, and fix FakeSystemClock so that it works properly in test environments. * Use ktlint to reformat TestCoroutineDispatchers per reviewer comment thread. * Reformat files failing linter check. * Reformat new DataProviders code. * Add new tests for the NestedTransformedDataProvider. * Address reviewer comment. * Address reviewer comments. Co-authored-by: vinitamurthi <murthi.vinita@gmail.com>
BenHenning
added
the
Z-ibt
Temporary label for Ben to keep track of issues he's triaged.
label
Sep 15, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Priority: Essential
This work item must be completed for its milestone.
Z-ibt
Temporary label for Ben to keep track of issues he's triaged.
There needs to be a controller that monitors the progress of a user on a question assessment generated by #110. This is ephemeral progress and not cached on-disk. This progress is just to determine when the user completes the assessment, and to report progress to the UI.
The text was updated successfully, but these errors were encountered: