mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-06-08 23:56:15 +02:00
refactor commit message stuff in integration tests
This commit is contained in:
parent
926ed7b9b2
commit
b64f55518b
pkg/integration
41
pkg/integration/components/commit_message_panel_asserter.go
Normal file
41
pkg/integration/components/commit_message_panel_asserter.go
Normal 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)
|
||||||
|
}
|
@ -238,3 +238,9 @@ func (self *Input) Menu() *MenuAsserter {
|
|||||||
|
|
||||||
return &MenuAsserter{assert: self.assert, input: self}
|
return &MenuAsserter{assert: self.assert, input: self}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *Input) CommitMessagePanel() *CommitMessagePanelAsserter {
|
||||||
|
self.assert.InCommitMessagePanel()
|
||||||
|
|
||||||
|
return &CommitMessagePanelAsserter{assert: self.assert, input: self}
|
||||||
|
}
|
||||||
|
@ -22,10 +22,9 @@ var Commit = NewIntegrationTest(NewIntegrationTestArgs{
|
|||||||
input.PrimaryAction()
|
input.PrimaryAction()
|
||||||
input.Press(keys.Files.CommitChanges)
|
input.Press(keys.Files.CommitChanges)
|
||||||
|
|
||||||
assert.InCommitMessagePanel()
|
|
||||||
commitMessage := "my commit message"
|
commitMessage := "my commit message"
|
||||||
input.Type(commitMessage)
|
|
||||||
input.Confirm()
|
input.CommitMessagePanel().Type(commitMessage).Confirm()
|
||||||
|
|
||||||
assert.CommitCount(1)
|
assert.CommitCount(1)
|
||||||
assert.HeadCommitMessage(Equals(commitMessage))
|
assert.HeadCommitMessage(Equals(commitMessage))
|
||||||
|
@ -19,12 +19,7 @@ var CommitMultiline = NewIntegrationTest(NewIntegrationTestArgs{
|
|||||||
input.PrimaryAction()
|
input.PrimaryAction()
|
||||||
input.Press(keys.Files.CommitChanges)
|
input.Press(keys.Files.CommitChanges)
|
||||||
|
|
||||||
assert.InCommitMessagePanel()
|
input.CommitMessagePanel().Type("first line").AddNewline().AddNewline().Type("third line").Confirm()
|
||||||
input.Type("first line")
|
|
||||||
input.Press(keys.Universal.AppendNewline)
|
|
||||||
input.Press(keys.Universal.AppendNewline)
|
|
||||||
input.Type("third line")
|
|
||||||
input.Confirm()
|
|
||||||
|
|
||||||
assert.CommitCount(1)
|
assert.CommitCount(1)
|
||||||
assert.HeadCommitMessage(Equals("first line"))
|
assert.HeadCommitMessage(Equals("first line"))
|
||||||
|
@ -40,11 +40,9 @@ var StagedWithoutHooks = NewIntegrationTest(NewIntegrationTestArgs{
|
|||||||
assert.View("staging").Content(Contains("+myfile content").DoesNotContain("+with a second line"))
|
assert.View("staging").Content(Contains("+myfile content").DoesNotContain("+with a second line"))
|
||||||
|
|
||||||
input.Press(keys.Files.CommitChangesWithoutHook)
|
input.Press(keys.Files.CommitChangesWithoutHook)
|
||||||
assert.InCommitMessagePanel()
|
|
||||||
assert.CurrentView().Content(Contains("WIP"))
|
|
||||||
commitMessage := ": my commit message"
|
commitMessage := ": my commit message"
|
||||||
input.Type(commitMessage)
|
input.CommitMessagePanel().InitialText(Contains("WIP")).Type(commitMessage).Confirm()
|
||||||
input.Confirm()
|
|
||||||
|
|
||||||
assert.CommitCount(1)
|
assert.CommitCount(1)
|
||||||
assert.HeadCommitMessage(Equals("WIP" + commitMessage))
|
assert.HeadCommitMessage(Equals("WIP" + commitMessage))
|
||||||
|
@ -30,10 +30,9 @@ var Unstaged = NewIntegrationTest(NewIntegrationTestArgs{
|
|||||||
assert.View("stagingSecondary").Content(Contains("+myfile content"))
|
assert.View("stagingSecondary").Content(Contains("+myfile content"))
|
||||||
|
|
||||||
input.Press(keys.Files.CommitChanges)
|
input.Press(keys.Files.CommitChanges)
|
||||||
assert.InCommitMessagePanel()
|
|
||||||
commitMessage := "my commit message"
|
commitMessage := "my commit message"
|
||||||
input.Type(commitMessage)
|
input.CommitMessagePanel().Type(commitMessage).Confirm()
|
||||||
input.Confirm()
|
|
||||||
|
|
||||||
assert.CommitCount(1)
|
assert.CommitCount(1)
|
||||||
assert.HeadCommitMessage(Equals(commitMessage))
|
assert.HeadCommitMessage(Equals(commitMessage))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user