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

Implement logic to show all hints and solution #3397

Closed
yashraj-01 opened this issue Jul 1, 2021 · 0 comments · Fixed by #3705
Closed

Implement logic to show all hints and solution #3397

yashraj-01 opened this issue Jul 1, 2021 · 0 comments · Fixed by #3705
Assignees
Labels
Priority: Essential This work item must be completed for its milestone. Type: Task A single task of work corresponding to a greater milestone. Generally corresponds to a single PR. Z-ibt Temporary label for Ben to keep track of issues he's triaged.

Comments

@yashraj-01
Copy link
Contributor

yashraj-01 commented Jul 1, 2021

Implement logic to show all hints and solutions on toggling on of the Hint switch

Target PR date: 2021-08-05
Target completion date: 2021-08-12

@yashraj-01 yashraj-01 added Priority: Essential This work item must be completed for its milestone. Type: Task A single task of work corresponding to a greater milestone. Generally corresponds to a single PR. labels Jul 1, 2021
@yashraj-01 yashraj-01 added this to the GSoC 2021.1: Milestone 2 milestone Jul 1, 2021
@yashraj-01 yashraj-01 self-assigned this Jul 1, 2021
@yashraj-01 yashraj-01 linked a pull request Aug 19, 2021 that will close this issue
8 tasks
BenHenning added a commit that referenced this issue Aug 22, 2021
…3705)

* moved hint handler to domain layer

* fixed app layer espresso tests

* fix app layer robolectric tests

* fixed domain layer tests

* Added annotations to test exemptions

* proto lint fix

* fixed hint handler for training sessions

* nit and removed test excemptions

* added hint tests for config change

* fixed test file exemptions

* fixed failing test

* made HintHandler injectable

* fixed ktlint error

* Added tests for hint handler

* nits

* fixed failing build

* fixed failing build

* fix build

* fixed imports

* nits and improved testing

* updated exploration.proto

* removed progress controller from kdoc exemptions

* fix failing test

* moved timer to domain

* fixed build and nits

* nit

* added listener back to test exemptions

* nit fixes and added more tests

* lint fix

* First round: make HintHandler independent.

This also brings HintHandler into an interface + factory pattern. This
isn't the final design since I think we can largely simplify the way
hints work; that'll be my next pass.

This breaks questions & HintHandlerTest; those will require further work
later.

* Simplify HelpIndex in proto.

Move HelpIndex to PendingState to avoid the entire domain case of
handling CompletedState.

* Simplify hints & solutions.

This removes the per-Hint/Solution tracking & completely leans on
HelpIndex for proper hints & solution tracking both in the domain & UI
layers.

Fixes a bunch of other stuff, too, including
QuestionAssessmentProgressController tests.

* Clean up dead code paths & improve handler API.

* fixed test modules and lint

* renamed HintHandlerTest to HintHandlerImplTest

* Add tests for HintHandler.

This introduces some new explorations for making testing HintHandlerImpl
easier.

* Add remaining tests/exemptions for new files.

* Lint fixes.

* Post-merge fixes (including lint fixes).

* Post-merge maven_install fix.

* Revert "Merge branch 'develop' into move-hint-handler-to-domain"

This reverts commit e2fea90, reversing
changes made to 6659858.

* Post-merge Gradle-discovered fixes.

* Revert "Revert "Merge branch 'develop' into move-hint-handler-to-domain""

This reverts commit b1622c0.

* Additional post-merge fixes.

* Renamed prod hint related files

* implemented show all hints and solution feature

* copied and modified tests from prod impl test to debug impl test

* temporarily fixed ktlint error for long test names

* Tests for HintsAndSolutionDebugModule

* renamed to ShowAllHintsAndSolutionHandler

* added tests in DeveloperOptionsFragmentTest

* renamed to ShowAllHintsAndSolutionHelper

* renamed HintHandlerImplTest to HintHandlerProdImplTest

* removed prod hint handler tests from debug impl test to simplify testing

* added missing KDocs

* removed unncessary comma in test modules

* some more nits

* nit fixes

* renamed test names to fit under 100 char limit

* renamed to ShowAllHintsAndSolutionController

* Updated Kdocs

* simplified debug handler to show all helps

* simplified debug handler even further using factory approach

* debug handler test

* Added tests for showAllHintsAndSolutionController

* nit update

* nit fix in test

* simplified tests

* nit fix

* removed unnecessary cast

Co-authored-by: MaskedCarrot <[email protected]>
Co-authored-by: Apoorv Srivastava <[email protected]>
Co-authored-by: Apoorv Srivastava <[email protected]>
Co-authored-by: Ben Henning <[email protected]>
@BenHenning BenHenning added the Z-ibt Temporary label for Ben to keep track of issues he's triaged. label Sep 16, 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. Type: Task A single task of work corresponding to a greater milestone. Generally corresponds to a single PR. Z-ibt Temporary label for Ben to keep track of issues he's triaged.
2 participants