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

Executing Test: Tester View: Test Conflict Resolution, Pt 1 #94

Merged
merged 7 commits into from
May 21, 2020

Conversation

rwaldron
Copy link
Contributor

@rwaldron rwaldron commented May 19, 2020

  • Run yarn db-migrate:dev
  • Run yarn
  • Run yarn dev
  • Note that when running from dev configuration, your issues will be created here: https://github.com/bocoup/aria-at/issues.
  • Open the app at http://localhost:3000
  • Sign out of the app
  • In another tab, go here: https://github.com/settings/applications, and revoke your authentication for "ARIA-AT Report API (Development)"
  • Return to the app and click "Sign in with Github"
  • Authorize
  • Once back at the app, make sure you have some ATs set up.
  • Go to http://localhost:3000/cycles, click "Initiate"
  • Create a "Test Cycle Configuration"
  • Check the checkboxes and assign yourself to each of the
    Test Plans"
  • Click "Initiate Cycle"
  • Go to http://localhost:3000/test-queue
  • Click "Contribute Tests"
  • Click the name of any "Test Plan". If none are clickable, click "Assign Me" then click the name.
  • You're now in the test and can actually start testing this feature 🙄
  1. Observe that there are no Status notifications on the page.
  2. Click "Raise an issue", observe that you are now at the "Create an issue" prompt.
  3. Observe there is a form and two buttons: "Cancel" and "Submit new issue"
  4. Click "Cancel". Observe that the prompt closes.
  5. Click "Raise an issue", observe that you are now at the "Create an issue" prompt.
  6. Make any changes you want and click "Submit new issue"
  7. Observe that you are now at the "Issue created" view and are presented with a message that says "Issue #XX created" where "XX" is the issue number that was created. Click "Done", observe that the prompt closes.
  8. Click "Raise an issue", observe that you are now at the "Review existing issues
    " prompt, and shown a list that has your issue in it.
  9. Click "My issue exists in this list", observe that the prompt closes.
  10. Click "Raise an issue"
  11. Click "My issue is not in this list", observe that you are at the "Create an issue" prompt.
  12. Click "Back to issues list", observe that you are at the "Review existing issues
    " prompt.
  13. Click the "X" in the upper right of the prompt.
  14. Refresh the test page
  15. Observe that there is now a "status bar" that says "This test has open issues"
  16. Click the "Review issues" button, observe that you are now at the "Review existing issues" prompt.
  17. Scroll to the "See on github.com" link and click it.
  18. Close the issue on Github
  19. Return to the ARIA-AT test page and refresh.
  20. Observe that the status bar is gone.
  21. Click "Raise an issue", observe that you are now at the "Create an issue" prompt.

@rwaldron rwaldron force-pushed the raise-issue-status branch 11 times, most recently from 9c33bc3 to 6ef1c2e Compare May 20, 2020 16:03
@spectranaut
Copy link
Contributor

I reported an issue on the first test, and I see it in the bocoup/aria-at fork. Then I went to the next test, and the next test, and they all have "This test has an open issue banner", and if you click on it, you see this:

no_issues

Copy link
Contributor

@spectranaut spectranaut left a comment

Choose a reason for hiding this comment

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

I think the next thing I need to work on is identifying conflicts, in which case, I'm inclined to just merge this PR and work on top of it. My main issues are with the workflow and that I think your stump'ed function calls don't need to exist, so I can just remove them in my work.

</Button>
</Modal.Footer>
</Modal>
<>
Copy link
Contributor

Choose a reason for hiding this comment

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

omg, what is this? replacement for fragment?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes

* @param {Number} cycle_id The id of the cycle to retrieve conflicts
* @return {Array} An array of conflict objects.
*/
export function getConflictsByCycleId(cycle_id) {
Copy link
Contributor

Choose a reason for hiding this comment

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

We actually don't need this. All the results for a cycle are already in the front end -- so we can do the conflict calculation on the front end.

As it is right now, having all test results for all test for a cycle when you contribute to a cycle -- might seems a little heavy handed.. but for now it is not too much data. we might need to later serve things in smaller pieces.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We might be thinking of something different here. The conflicts/diffs that @s3ththompson and I planned out are based on a serialization of the actual form itself within the iframe. That would also be used to repopulate those forms the next time you open the test to run it. The current data that I saw in the result objects does not have the details necessary to do that.

Copy link
Member

Choose a reason for hiding this comment

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

i think the issue is that there are 2 concepts here with similar terminology. here's my conception of them, hopefully it matches yours?

  • [1] the results conflict diff, which Matt sketched out, which will go at the bottom of the GitHub issue, which Val points out can be generated on the frontend.
  • [2] the (basically) vdom state that will need to be serialized from the iframe form, saved to the db, and then retrieved to re-hydrate the form during editing.

@rwaldron it sounds like this stub is for [2]? if so, is it appropriately named? don't we need to save the serialized data for all results, whether it's conflicted or not?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@s3ththompson yes, you're correct. @spectranaut and I had a call to discuss this and I described our idea and she's got it now.

* @param {Number} cycle_id The id of the cycle to retrieve results
* @return {Array} An array of result objects.
*/
export function getResultsByCycleId(cycle_id) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Same as above, we have all this data.

@rwaldron rwaldron force-pushed the raise-issue-status branch 4 times, most recently from e5c5845 to 747a61e Compare May 21, 2020 01:14
@rwaldron rwaldron force-pushed the raise-issue-status branch from 747a61e to e1a3281 Compare May 21, 2020 01:19
issue_number: {
type: Sequelize.INTEGER,
allowNull: false
}
Copy link
Member

Choose a reason for hiding this comment

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

I think you may be missing the open boolean column?

Copy link
Contributor

Choose a reason for hiding this comment

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

I just got an error about this @s3ththompson , I'll push a commit...

},
open: {
type: BOOLEAN,
allowNull: true
Copy link
Member

Choose a reason for hiding this comment

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

I believe boolean false is not null, so allowNull can be false for consistency / safety.

@spectranaut spectranaut merged commit cebed5c into main May 21, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants