-
Notifications
You must be signed in to change notification settings - Fork 6.8k
Editing last comment on issue or pull request only creates comment if --create-if-none flag is set #10625
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
Conversation
There is still a bit of work to get the gh pr comment tests in order, however this goes a way towards fixing the issue along with acceptance tests. Also, it turns out some of the issue acceptance tests were really running `pr` tests.
This commit brings the `gh issue comment` and `gh pr comment` tests in line with one another while also addressing some corner cases that weren't previously tested.
@@ -234,13 +235,29 @@ func Test_commentRun(t *testing.T) { | |||
InteractiveEditSurvey: func(string) (string, error) { return "comment body", nil }, | |||
ConfirmSubmitSurvey: func() (bool, error) { return true, nil }, | |||
}, | |||
emptyComments: true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While reviewing these tests, I felt it was important to try capturing the comment state more explicitly as an aid to maintainers. 🤔
}{ | ||
{ | ||
name: "interactive editor", | ||
name: "creating new comment with interactive editor succeeds", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test name changes were meant to aid maintainers in understanding the user experience under test
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
name: "updating last comment with non-interactive web errors because there are no comments", | ||
input: &shared.CommentableOptions{ | ||
Interactive: false, | ||
InputType: shared.InputTypeWeb, | ||
Body: "", | ||
EditLast: true, | ||
CreateIfNone: true, | ||
|
||
OpenInBrowser: func(u string) error { | ||
assert.Contains(t, u, "#issuecomment-111") | ||
return nil | ||
}, | ||
Interactive: false, | ||
InputType: shared.InputTypeWeb, | ||
Body: "", | ||
EditLast: true, | ||
}, | ||
stderr: "Opening https://github.com/OWNER/REPO/issues/123 in your browser.\n", | ||
emptyComments: true, | ||
wantsErr: true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Honestly, I think we shouldn't error if navigating to the web browser, but this was previous behavior thus kept it as-is.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved with some nits. Very nice PR.
acceptance/testdata/issue/issue-comment-edit-last-with-comments.txtar
Outdated
Show resolved
Hide resolved
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [cli/cli](https://github.com/cli/cli) | minor | `v2.68.1` -> `v2.69.0` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>cli/cli (cli/cli)</summary> ### [`v2.69.0`](https://github.com/cli/cli/releases/tag/v2.69.0): GitHub CLI 2.69.0 [Compare Source](cli/cli@v2.68.1...v2.69.0) #### What's Changed ##### Features - Commands that accept filepath arguments will do glob expansion for `*` characters, by [@​iamazeem](https://github.com/iamazeem) in cli/cli#10413 ##### Bug Fixes - `gh issue/pr comment --edit-last` no longer creates a comment in non-interactive mode if there weren't one. A new flag `--create-if-none` provides this behaviour, by [@​andyfeller](https://github.com/andyfeller) in cli/cli#10625 - `gh repo sync` provides a more informative error for missing workflow permissions when the token is provided by a GitHub app, by [@​wata727](https://github.com/wata727) in cli/cli#10574 - `gh api` no longer tries to encode URLs incorrectly, by [@​williammartin](https://github.com/williammartin) in cli/cli#10630 ##### Other - Add cli-discuss-automation environment to triage.md by [@​jtmcg](https://github.com/jtmcg) in cli/cli#10552 - chore: remove redundant word in comment by [@​kevincatty](https://github.com/kevincatty) in cli/cli#10586 - Bump golang.org/x/net from 0.34.0 to 0.36.0 by [@​dependabot](https://github.com/dependabot) in cli/cli#10593 #### New Contributors - [@​kevincatty](https://github.com/kevincatty) made their first contribution in cli/cli#10586 - [@​wata727](https://github.com/wata727) made their first contribution in cli/cli#10574 **Full Changelog**: cli/cli@v2.68.1...v2.69.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMTMuNSIsInVwZGF0ZWRJblZlciI6IjM5LjIxMy41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Fixes #10580
On top of fixing the underlying bug with creating new comments by default if editing issue or pull requests without comments, the following changes focus heavily on testing along.
Manual acceptance test results
Using the following script, all new acceptance tests pass:
Shell script for running acceptance tests