1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-02-03 13:21:56 +02:00

refactor commit message stuff in integration tests

This commit is contained in:
Jesse Duffield 2022-12-27 11:55:30 +11:00
parent 926ed7b9b2
commit b64f55518b
6 changed files with 54 additions and 16 deletions

View File

@ -0,0 +1,41 @@
package components
type CommitMessagePanelAsserter struct {
assert *Assert
input *Input
}
func (self *CommitMessagePanelAsserter) getViewAsserter() *ViewAsserter {
return self.assert.View("commitMessage")
}
// asserts on the text initially present in the prompt
func (self *CommitMessagePanelAsserter) InitialText(expected *matcher) *CommitMessagePanelAsserter {
self.getViewAsserter().Content(expected)
return self
}
func (self *CommitMessagePanelAsserter) Type(value string) *CommitMessagePanelAsserter {
self.input.Type(value)
return self
}
func (self *CommitMessagePanelAsserter) AddNewline() *CommitMessagePanelAsserter {
self.input.Press(self.input.keys.Universal.AppendNewline)
return self
}
func (self *CommitMessagePanelAsserter) Clear() *CommitMessagePanelAsserter {
panic("Clear method not yet implemented!")
}
func (self *CommitMessagePanelAsserter) Confirm() {
self.input.Confirm()
}
func (self *CommitMessagePanelAsserter) Cancel() {
self.input.Press(self.input.keys.Universal.Return)
}

View File

@ -238,3 +238,9 @@ func (self *Input) Menu() *MenuAsserter {
return &MenuAsserter{assert: self.assert, input: self}
}
func (self *Input) CommitMessagePanel() *CommitMessagePanelAsserter {
self.assert.InCommitMessagePanel()
return &CommitMessagePanelAsserter{assert: self.assert, input: self}
}

View File

@ -22,10 +22,9 @@ var Commit = NewIntegrationTest(NewIntegrationTestArgs{
input.PrimaryAction()
input.Press(keys.Files.CommitChanges)
assert.InCommitMessagePanel()
commitMessage := "my commit message"
input.Type(commitMessage)
input.Confirm()
input.CommitMessagePanel().Type(commitMessage).Confirm()
assert.CommitCount(1)
assert.HeadCommitMessage(Equals(commitMessage))

View File

@ -19,12 +19,7 @@ var CommitMultiline = NewIntegrationTest(NewIntegrationTestArgs{
input.PrimaryAction()
input.Press(keys.Files.CommitChanges)
assert.InCommitMessagePanel()
input.Type("first line")
input.Press(keys.Universal.AppendNewline)
input.Press(keys.Universal.AppendNewline)
input.Type("third line")
input.Confirm()
input.CommitMessagePanel().Type("first line").AddNewline().AddNewline().Type("third line").Confirm()
assert.CommitCount(1)
assert.HeadCommitMessage(Equals("first line"))

View File

@ -40,11 +40,9 @@ var StagedWithoutHooks = NewIntegrationTest(NewIntegrationTestArgs{
assert.View("staging").Content(Contains("+myfile content").DoesNotContain("+with a second line"))
input.Press(keys.Files.CommitChangesWithoutHook)
assert.InCommitMessagePanel()
assert.CurrentView().Content(Contains("WIP"))
commitMessage := ": my commit message"
input.Type(commitMessage)
input.Confirm()
input.CommitMessagePanel().InitialText(Contains("WIP")).Type(commitMessage).Confirm()
assert.CommitCount(1)
assert.HeadCommitMessage(Equals("WIP" + commitMessage))

View File

@ -30,10 +30,9 @@ var Unstaged = NewIntegrationTest(NewIntegrationTestArgs{
assert.View("stagingSecondary").Content(Contains("+myfile content"))
input.Press(keys.Files.CommitChanges)
assert.InCommitMessagePanel()
commitMessage := "my commit message"
input.Type(commitMessage)
input.Confirm()
input.CommitMessagePanel().Type(commitMessage).Confirm()
assert.CommitCount(1)
assert.HeadCommitMessage(Equals(commitMessage))