-
-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
Acceptance Testing - covering all the Creator's and Contributor's CUJs. #17712
Comments
Hi @Shivkant-Chauhan, thanks for proposing this as a good first issue. I am removing the label for now and looping in @DubeySandeep to approve the label. It will be added back if approved. Thanks! |
Hi @Shivkant-Chauhan, thanks for proposing this as a good first issue. I am removing the label for now and looping in @DubeySandeep to approve the label. It will be added back if approved. Thanks! |
Hi @ashish-patwal and @Shivkant-Chauhan can I get 7 and 8 of exploration creator assigned to me? thank you! since it's my first time writing such acceptance testing, i might need some time or guidance on this aspect.
|
Hey @caramelmelmel, assigned you to the 7,8 user stories of exploration creator and thanks for showing your interest in the Acceptance tests. I and @ashish-patwal will be there for you for clearing your blockers and helping you out when stuck. But get a fair idea by reading the wiki pages for Acceptance tests and go through the reference PR #16394 (links are shared within the issue desc.). 1 --> yes, you need to have the local server setup on your system and you must be accessible to the /creator-dashboard page. also, you need to have a proper idea of all the components present on the page and what must be the expected behavior of the components (if there is a bug anywhere). |
Hello @ashish-patwal and @Shivkant-Chauhan, it's my first time contributing to an open source software and I would like to get assigned to (5,6) Exploration Creator or/and Anonymous Learner(3,4)? |
hey @marcella-stefan , since you are new to the codebase, so I am assigning you only 1 package from Exploration Creator. Please ask here in case of any blocker/confusion. |
@caramelmelmel please share the updates on the package you are assigned. |
Hi @Shivkant-Chauhan and @ashish-patwal, this is my first time contributing to an open source project as well, would I be able to get assigned to Logged-in user browsing static pages (3, 11)? |
sure @SahilB1 ! assigning you to the requested package. |
@Shivkant-Chauhan Thank you! Will the acceptance tests wiki page have the information needed to get started on understanding how to go about writing these tests? |
@Shivkant-Chauhan @ashish-patwal I tried to run the acceptance tests as they are using the command Additionally, running
Looking into the actual |
we are still having a PR opened on that (#17364 ) that will fix both the things you asked for. |
@Shivkant-Chauhan sounds good, thank you! |
Thanks for the response! I'm also experiencing the same issue! In the meantime, could we copy the PR that fixes #17364 to run the acceptance tests? |
@caramelmelmel @SahilB1 until the PR #17364 is not merged, please run the test using: |
sure! thank you so much! right now, I'm asking for signed in users wise, must I mock the sign in phase? |
* acceptance for voiceover admin * checkpoint * fixed first test * fixed second test * first pass review * updated expectVoiceoverArtistsToContain to be plural * updated expectVoiceoverArtistsToContain to be plural * second pass review * third pass review * top level-test * top level-test * fixed invalidId test * fixed invalidId test * mobile tests * updated error * explorationEditor utility * mobile test * rename expectVoiceoverArtistsListDoesNotContain
…tab of the exploration creator. (#19828) * exploration editor acceptance test * fixed linting failures * linting error fixed * linting errors fixed * linter * fixex * fixing * fixes * lint * correction * correction * correction * correction * flakes fixed * fixed flakes * fixed flakes * lint * lint * parameterized the functions * lint * lint fix * lint * lint fix * lint fix * lint * fixes * lints * lint fixes * lint fix * lint fix * resolved conflicts * migrated to ts * lint fix * lint fix * lint fix * type fix * lint fix * refactoring * changes * updating * lint * correction * lint * lint * updated * correct * updates * updates * updates * fixig flakes * updates * updates * fixes * fixes * updates * updates * updates * updates * updates * updates * updates * updates * updates * updates * updates * updates * updates * updates
…ection(CUJ 9). (#19780) * firstcommitBasicSetting/advancedsettingCompleted * Some flaky modification needed else done with the pr * Lint Checks Failed * lint-checks-failed * Lint-checks-breaking * Lint-updates * mention-changes-seperateTesting- * Lint-Check-Passed * Lint-Checked-Passed * Parameterised-required-functions * allign-functions-correctly * lintpass * Merged changes from both branches * resolve merge conflict * removing-added-ids * add suitable class instead of id as per review * correct the class name * GiveParametersToAllNeededFunctions * PullRequestFinalised * LintPassed * PassFailingFlake * Resolve-Merge-conflict * delete-class-update-showMessageOfSuccessfullExplrationCreation-function * remove space from top * change expectgoaltobeset -> expectGoalToEqual * change expectCategoryToBeSelected-> expectSelectedCategoryToBe * update expectLanguageToBeSelected->expectSelectedLanguageToBe * change successfullyUpdatedSettings->updateSettingsSuccessfully * add-check-of-summary-visible-in-main-function-only * updateAutomaticTextToSpeech -> disableAutomaticTextToSpeech * makeExplorationPublic -> publishExploration * add 3 inputs to voiceArtists, disableATT -> enableATT * chooseToReceiveSuggestedEmailsAsNotification() -> optInToEmailNotifications() * Notification --> Notifications * it(should create an exploration and modify it via the Settings tab) * go to a URL->openCreatorDashboardPage() * goToEditorSection->switchToEditorTab * change addSomeChanges -> updateTitle and more readable form * some lint pass * remove-unnecessary-logs * updateTitle --> addTitle * add list of tags * expextExplorationToBeDeletedSuccessfully --> expectExplorationToBeDeletedSuccessfullyFromCreatorDashboard * should draft, discard and publish the changes * addInteraction -> addEndInteraction * pass * lintpass * explorationVisitor try to visits deleted exploration * selectLang -> selectEngLang, similiarly selectCateogry * add comments for better understanding of PM * add comments for better understanding of PM * remove unwanted function extraClick * passing-ci-tests * lint pass * lint-pass * lint-pass * lint-pass * lint-pass * lint pass * correct comma in suiteName * correct view port hieght * correct the CI tests * lint pass * lint pass * lint pass * correct the names * Goal -> goal * cateogry-> category * again * use variable instead of direct selector * remove some grammatical errors and use loop for repeated tasks * use username instead of user1 and user2 as parameter * lint pass * remove most of the waitForTimeout(2 left) * lint pass * test flakes * flakes * flakes * trying to reomve flakes, No flakes in local(only on github cli) * trying to reomve flakes, No flakes in local(only on github cli) * trying to reomve flakes, No flakes in local(only on github cli) * remove flakes * remove mat selector to remove flakes * checking whether previous commit has similiar issue or not * back to previous commit with some changes * adding explicit timeout and checking for results * trying after removing one of 2 Timeout checking if it works on cli or not * continue removing flakes from github cli, this time remove some clickOn , using type directly * remove category flake * Add some parameters, remove mat selectors, use selectors present in codebase, give comments for explicit timeout * lint pass * github ci failing * ci paas continue * visible:true not working, need to use waitForTimeout * ci tests : Remove visible: true , checking if publishExploration works or not * added debugging statement to debug more deeply. * debugigng * debugigng * debugigng * debugigng expectedGoal * using ng-reflect-model instead of explorationObjective * trying mat-form-field.e2e-test-exploration-category .mat-select in category dropdawn as a selector, input as HTMLInputElement in expexpect goal * adding more debuuging logs and lines in expectGoal to debug why its not working * adding more debuuging logs and lines in Goal to debug why its not working * checking without expect * checking without expect * checking without expect * previous blockage get removed * previous blockage get removed * again started working fine in local after removing merge conflicts * lint check * lint check * with 3 explicit timeout ci was passing, i removed all of them, lets see, (although its passing in local) * add some classes and do some adjustments so that in mobile it also works * undo unnecessary change of puppeteer * undo unnecessary change of puppeteer * add if condition for mobile, remaining * remove debuuging logs as now working fine on github cli * debug and make the remaining tests run * make the selectors more selective and run the tests locally 10+ times without any flake * chnages done (stephen) * remove some logs message * notification -> notifications * notification -> notifications * change * changes * resolve comments and merge conflict * some console error mentioned * changes done * everything is working fine expect lost-changes-modal.component.html * removed save-draft-spec file * CHANGES IN EXPLORATIONID * change * change * change * lint check * changes
…tests (#19914) * Create acceptance test files and implement functionality to add skills * Add functionality to create questions * Add functionality to create explorations * Add thumbnail image and topic creation functionality * Add functionality to create subtopics, stories, chapters, and publish stories * Write the acceptance tests to create topics, stories, chapters, and publish stories * Migrate curriculum admin tests to TypeScript * Add comments and fix tests * Merge remote-tracking branch 'upstream/develop' into curriculum-admin-topic-management-acceptance-test * Fix linting issues * Fix utility functions * Fix tests by adding timeouts for improved stability * Clean code * Fix typescript issues and set the main page to the active tab * Change comments for clarity * Add expectation tests * Fix linting issues * Improve extracting exploration ID and handle exceptions * Correct wordings and input texts * Remove redundant wait and make question creation functionality independent of user flow * Add comments explaining timeouts and generalize functionality for timeout event * Fix opening skill editor before question creation * Refactor story creation to combine functions following user flow * Modify functionalities to use objects for user input information * Fix handling necessary question creation * Complete topic creation functionality including publishing topic * Appropriately publish topics, update expectance test and replace timeouts * Add comments for clarity * Move helper function to spec file * Clean code and add comments * Fix linting issues * Minimize flaky behaviour appropriately * Clean code * Modify tests to emulate mobile user behaviour * Adjust utility to publish topics for mobile functionality * Remove test timeouts * Improve saving topic draft flow * Fix new tab flake and finalize mobile utility functions * Move exploration ID extraction function to base user utility service * Remove objects and pass data as explicit arguments * Fix linting issues * Address comments and improve clarity * Improve user utility functionality * Reduce flakiness and improve naming * Fix linter issues * Fix flake and improve naming * Fix typos and improve comments * Fix merge issues and update suite * Attempt to fix CI error * Create explorations from exploration editor utils to avoid code duplication * Remove unused variables
…ance tests (oppia#19914) * Create acceptance test files and implement functionality to add skills * Add functionality to create questions * Add functionality to create explorations * Add thumbnail image and topic creation functionality * Add functionality to create subtopics, stories, chapters, and publish stories * Write the acceptance tests to create topics, stories, chapters, and publish stories * Migrate curriculum admin tests to TypeScript * Add comments and fix tests * Merge remote-tracking branch 'upstream/develop' into curriculum-admin-topic-management-acceptance-test * Fix linting issues * Fix utility functions * Fix tests by adding timeouts for improved stability * Clean code * Fix typescript issues and set the main page to the active tab * Change comments for clarity * Add expectation tests * Fix linting issues * Improve extracting exploration ID and handle exceptions * Correct wordings and input texts * Remove redundant wait and make question creation functionality independent of user flow * Add comments explaining timeouts and generalize functionality for timeout event * Fix opening skill editor before question creation * Refactor story creation to combine functions following user flow * Modify functionalities to use objects for user input information * Fix handling necessary question creation * Complete topic creation functionality including publishing topic * Appropriately publish topics, update expectance test and replace timeouts * Add comments for clarity * Move helper function to spec file * Clean code and add comments * Fix linting issues * Minimize flaky behaviour appropriately * Clean code * Modify tests to emulate mobile user behaviour * Adjust utility to publish topics for mobile functionality * Remove test timeouts * Improve saving topic draft flow * Fix new tab flake and finalize mobile utility functions * Move exploration ID extraction function to base user utility service * Remove objects and pass data as explicit arguments * Fix linting issues * Address comments and improve clarity * Improve user utility functionality * Reduce flakiness and improve naming * Fix linter issues * Fix flake and improve naming * Fix typos and improve comments * Fix merge issues and update suite * Attempt to fix CI error * Create explorations from exploration editor utils to avoid code duplication * Remove unused variables
Hi @seanlip can you assign me to the curiculum admin (2) ? |
Done |
* Fix part of #17712: acceptance test for logged-in user - test subscribe * add test * supress console errors * add mobile test * fix linter * add space * add comments * update test * fix linter * fix test * use functions of exploration editor * add full stop * refactor code * fix linter
The list of journeys mentioned above is not exhaustive. I will continue adding the creator’s and contributor’s CUJs that need to be documented. @rahat2134, would you like to help me with this? Perhaps you would be having a list of creator’s and contributor’s CUJs? |
…UJ 2.1). (#20431) blog-editor-create-delete-drafted-post
…ection(CUJ 10). (#20203) * saveDraft spec * change * change * change * changes * changes * changes * changes * changes-> waitForPageToFullyLoad,... * correct function name in new PR * removed timeout * div -> button * change * remove-extra-regex * changes * changes * changes * autosave indicator to a variable * changes * corrected the doc string
) * Footer navigation logged-in user tests progress * Click all buttons on get started page done * logged in users get started page test refactoring * click all about oppia footer buttons test working * Lint fixes * Lint fixes * Lint fixes * null-safety * Add /usr/bin/google-chrome-stable as possible CHROME_BIN path * click all about oppia footer buttons changes * Fix some flakiness for logged in user acceptance tests * Remove extra space * Matcher changes for logged-in-users-utils * Swap ` with \' on non-format string * Swaping a .toContain to a .toBe * Rename of some logged in user tests and restructuring of the click all likns on get started page spec * Click all links on creator guidelines page acceptance test * More logged-in user test progress * Logged in user tests for teach and terms pages * logged-in-user-utils constant changes * Logged-in users Social icons and privacy page tests * Fix linter errors * Last logged-in users test * remove duplicate member from logged-in-user-utils * logged in user test documentation updates * fix broken acceptance test, logged-in-user-tests/click-all-links-on-get-started-page * Attempt to lower flakiness of following links to social media sites * Remove extra dash in acceptance suite name * Fix typos in logged-in-user-tests * Footer icon click functions renames * Add missing function documentation * Remove some empty lines * Add new test suite * move tests into click-all-links-in-teach-learn-footer spec * Rename some logged-in-user-util functions * fix logged-in-user-tests/click-all-buttons-on-teach-page.spec.ts * Add test for Google Play button * Fix typo * Renaming symbols and more test reshuffling * move some constants to test-contants.ts * move some constants to test-contants.ts * fix incorrect named symbol * Replace tests that where accidentaly removed when merging * Add test to click Privacy Policy link on terms page * More logged in test changes * Change domain for twitter * Fix symbols for logged-out-user tests * minor documentation change ('logged-in' -> 'logged-out') * Remove teach page acceptance test on this branch since it exists in develop already * Merge oppia footer tests into one file * fix linter issues * Fix footer test flake * uncomment out test * fix acceptance test flakes * rename click-all-links-in-terms-page test to click-all-links-on-terms-page * remove extra function declaration --------- Co-authored-by: Hardik Goyal <135348086+HardikGoyal2003@users.noreply.github.com>
…UJ 2.2). (#20512) * blog editor cuj 2.2 * changes suggested by christie, use constant.. * changes * changes
…ction(CUJ 12). (#20669) * Exploration-editor-CUJ-12 * Add proper specs * Add proper specs * changes
…or Section(CUJ 12). (oppia#20669) * Exploration-editor-CUJ-12 * Add proper specs * Add proper specs * changes
Describe the bug
In order to verify that key user journeys do not break, the Oppia development team is implementing Acceptance Testing for the develop branch. This means that, on every commit, all key requirements are verified through a set of acceptance tests that check that each type of end user can do the things they expect to do on the site.
The aim of this issue is to build up a set of such tests for all the CUJs that creators and contributors experience on Oppia. Please see the instructions below for how to claim a task in this issue. (Feel free to contact @oppia/acceptance-test-reviewers if you have any doubts!)
# Instructions
core/tests/puppeteer-acceptance-tests/spec/<user-type>tests.spec.js
it
block, and all the test steps and expectations should match the expected behavior. You might also need to write utility functions, similar to the existing examples below.For reference: You can see an example set of acceptance tests for “blog admin”/”blog editor” here. Please follow a similar format and file naming convention for the tests that you write:
List of user stories (arranged by user type)
(serial numbers same as testing spreadsheet row number for each user type)
Blog Editor
Exploration Creator
3- Users can record voiceovers in different languages, upload voiceovers for their question explorations in different languages, and monitor progress………….
4- Users can create questions from the exploration, add questions from the exploration
5- Users can see history in the exploration editor, can check the latest version with notes, user, and date, and compare any two versions from ………… -- @Akhilesh-max (PR: Implements part of #17712 : Acceptance tests for CUJs in the preview tab of the exploration creator. #19828)
6- User can preview the exploration, and can start the questions from the beginning -- @Akhilesh-max
7- User can navigate to the Feedback Tab: The user can access the Feedback Tab in the Exploration Editor and view all the feedback ………….
8- User can ask for "Help" for the editor's exploration, take a tour of the editor's exploration, visit the help centerTake the translator tour
9- User can do the Basic setting: Title, Goal, Add a category, Language, Name of the first card, Tags, Advance features, Roles, Voice artist, Permissions …….. -- @rahat2134 (PR: Implement part of #17712 : Acceptance tests for Exploration Creator Section(CUJ 9). #19780)
10- User can Publish the latest changes, User can draft the latest changes -- @rahat2134 (PR: Implement part of #17712 : Acceptance tests for Exploration Creator Section(CUJ 10). #20203)
11- User can use all the interactions.
13- User can use all RTE components.
12- User can publish an exploration with an interaction. -- @rahat2134 (PR: Implement part of #17712 : Acceptance tests for Exploration editor Section(CUJ 12). #20669)
14- User can view and make changes to a previously-published exploration
15- User can see statistics about number of views, ratings, etc. in the creator dashboard
Voiceovers
Voiceover artist can add audio recordings to any exploration
Contributor Dashboard
Translation submitter
Tracking bug: [CD Acceptance Tests]: Translation submitter #18892
1.1 User can select a topic and a language, and then successfully submit a translation for that lesson card in that language.
1.2 User can see stats, badges and generate a certificate based on stats
Translation Reviewer
2.1 User can view the translated lessons in a topic, review the cards in the lesson and accept the translation in each card
2.2 User can see stats, badges and generate a certificate based on stats
Practice Question Submitter
Tracking bug: [CD Acceptance Tests]: Practice Question Submitter #18894
4.1 Users can suggest questions by selecting the difficulty level of a lesson in a Topic
4.2 Users can suggest questions by selecting difficulty level as Hard to a lesson in a Topic
4.3 User can see stats, badges and generate a certificate based on stats
Practice Question Reviewer
Tracking bug: [CD Acceptance Tests]: Practice Question Reviewer #18896
5.1 Users can review a question on a topic and Accept it
5.2 Users can review a question in a topic and Reject it
5.3 User can see stats, badges and generate a certificate based on stats
The text was updated successfully, but these errors were encountered: