mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-05-11 20:36:03 +02:00
integration tests for commit in staged files and unstaged files menus
This commit is contained in:
parent
d0499286e2
commit
87e0f6b92d
53 changed files with 147 additions and 0 deletions
33
pkg/integration/tests/commit/staged.go
Normal file
33
pkg/integration/tests/commit/staged.go
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
package commit
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/jesseduffield/lazygit/pkg/config"
|
||||||
|
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Staged = NewIntegrationTest(NewIntegrationTestArgs{
|
||||||
|
Description: "Staging a couple files, going in the staged files menu and committing",
|
||||||
|
ExtraCmdArgs: "",
|
||||||
|
Skip: false,
|
||||||
|
SetupConfig: func(config *config.AppConfig) {},
|
||||||
|
SetupRepo: func(shell *Shell) {
|
||||||
|
shell.CreateFile("myfile", "myfile content")
|
||||||
|
shell.CreateFile("myfile2", "myfile2 content")
|
||||||
|
},
|
||||||
|
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
|
||||||
|
assert.CommitCount(0)
|
||||||
|
|
||||||
|
input.PrimaryAction()
|
||||||
|
input.NextItem()
|
||||||
|
input.PrimaryAction()
|
||||||
|
input.Confirm()
|
||||||
|
input.PressKeys(keys.Files.CommitChanges)
|
||||||
|
|
||||||
|
commitMessage := "my commit message"
|
||||||
|
input.Type(commitMessage)
|
||||||
|
input.Confirm()
|
||||||
|
|
||||||
|
assert.CommitCount(1)
|
||||||
|
assert.MatchHeadCommitMessage(Equals(commitMessage))
|
||||||
|
},
|
||||||
|
})
|
32
pkg/integration/tests/commit/unstaged.go
Normal file
32
pkg/integration/tests/commit/unstaged.go
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
package commit
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/jesseduffield/lazygit/pkg/config"
|
||||||
|
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Unstaged = NewIntegrationTest(NewIntegrationTestArgs{
|
||||||
|
Description: "Staging a couple files, going in the unstaged files menu and committing",
|
||||||
|
ExtraCmdArgs: "",
|
||||||
|
Skip: false,
|
||||||
|
SetupConfig: func(config *config.AppConfig) {},
|
||||||
|
SetupRepo: func(shell *Shell) {
|
||||||
|
shell.CreateFile("myfile", "myfile content")
|
||||||
|
shell.CreateFile("myfile2", "myfile2 content")
|
||||||
|
},
|
||||||
|
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
|
||||||
|
assert.CommitCount(0)
|
||||||
|
|
||||||
|
input.PrimaryAction()
|
||||||
|
input.NextItem()
|
||||||
|
input.Confirm()
|
||||||
|
input.PressKeys(keys.Files.CommitChanges)
|
||||||
|
|
||||||
|
commitMessage := "my commit message"
|
||||||
|
input.Type(commitMessage)
|
||||||
|
input.Confirm()
|
||||||
|
|
||||||
|
assert.CommitCount(1)
|
||||||
|
assert.MatchHeadCommitMessage(Equals(commitMessage))
|
||||||
|
},
|
||||||
|
})
|
|
@ -36,6 +36,8 @@ var tests = []*components.IntegrationTest{
|
||||||
cherry_pick.CherryPickConflicts,
|
cherry_pick.CherryPickConflicts,
|
||||||
commit.Commit,
|
commit.Commit,
|
||||||
commit.NewBranch,
|
commit.NewBranch,
|
||||||
|
commit.Staged,
|
||||||
|
commit.Unstaged,
|
||||||
custom_commands.Basic,
|
custom_commands.Basic,
|
||||||
custom_commands.FormPrompts,
|
custom_commands.FormPrompts,
|
||||||
custom_commands.MenuFromCommand,
|
custom_commands.MenuFromCommand,
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
my commit message
|
|
@ -0,0 +1 @@
|
||||||
|
ref: refs/heads/master
|
|
@ -0,0 +1,12 @@
|
||||||
|
[core]
|
||||||
|
repositoryformatversion = 0
|
||||||
|
filemode = true
|
||||||
|
bare = false
|
||||||
|
logallrefupdates = true
|
||||||
|
[user]
|
||||||
|
email = CI@example.com
|
||||||
|
name = CI
|
||||||
|
[commit]
|
||||||
|
gpgSign = false
|
||||||
|
[protocol "file"]
|
||||||
|
allow = always
|
|
@ -0,0 +1 @@
|
||||||
|
Unnamed repository; edit this file 'description' to name the repository.
|
BIN
test/integration_new/commit/staged/expected/repo/.git_keep/index
Normal file
BIN
test/integration_new/commit/staged/expected/repo/.git_keep/index
Normal file
Binary file not shown.
|
@ -0,0 +1,6 @@
|
||||||
|
# git ls-files --others --exclude-from=.git/info/exclude
|
||||||
|
# Lines that start with '#' are comments.
|
||||||
|
# For a project mostly in C, the following would be a good set of
|
||||||
|
# exclude patterns (uncomment them if you want to use them):
|
||||||
|
# *.[oa]
|
||||||
|
# *~
|
|
@ -0,0 +1 @@
|
||||||
|
0000000000000000000000000000000000000000 ef3197feca3fdc5b9f0170f483c6ff138d5cf186 CI <CI@example.com> 1669566692 +0100 commit (initial): my commit message
|
|
@ -0,0 +1 @@
|
||||||
|
0000000000000000000000000000000000000000 ef3197feca3fdc5b9f0170f483c6ff138d5cf186 CI <CI@example.com> 1669566692 +0100 commit (initial): my commit message
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,2 @@
|
||||||
|
x<01><>A
|
||||||
|
Â0E]ç³$™iÆD„®zŒ1<C592>ªà<C2AA>ÒFÐÛðnþâñ?³G…yWWU Qœæc‘X)§._Ã,‚N„œ%öCtòª÷²Â0Âi/ú[žzÈÅΘûÈmö>xïm'UÿÔ<C3BF>}à—€é¶ÉMݶ0
|
|
@ -0,0 +1 @@
|
||||||
|
ef3197feca3fdc5b9f0170f483c6ff138d5cf186
|
1
test/integration_new/commit/staged/expected/repo/myfile
Normal file
1
test/integration_new/commit/staged/expected/repo/myfile
Normal file
|
@ -0,0 +1 @@
|
||||||
|
myfile content
|
1
test/integration_new/commit/staged/expected/repo/myfile2
Normal file
1
test/integration_new/commit/staged/expected/repo/myfile2
Normal file
|
@ -0,0 +1 @@
|
||||||
|
myfile2 content
|
|
@ -0,0 +1 @@
|
||||||
|
my commit message
|
|
@ -0,0 +1 @@
|
||||||
|
ref: refs/heads/master
|
|
@ -0,0 +1,12 @@
|
||||||
|
[core]
|
||||||
|
repositoryformatversion = 0
|
||||||
|
filemode = true
|
||||||
|
bare = false
|
||||||
|
logallrefupdates = true
|
||||||
|
[user]
|
||||||
|
email = CI@example.com
|
||||||
|
name = CI
|
||||||
|
[commit]
|
||||||
|
gpgSign = false
|
||||||
|
[protocol "file"]
|
||||||
|
allow = always
|
|
@ -0,0 +1 @@
|
||||||
|
Unnamed repository; edit this file 'description' to name the repository.
|
Binary file not shown.
|
@ -0,0 +1,6 @@
|
||||||
|
# git ls-files --others --exclude-from=.git/info/exclude
|
||||||
|
# Lines that start with '#' are comments.
|
||||||
|
# For a project mostly in C, the following would be a good set of
|
||||||
|
# exclude patterns (uncomment them if you want to use them):
|
||||||
|
# *.[oa]
|
||||||
|
# *~
|
|
@ -0,0 +1 @@
|
||||||
|
0000000000000000000000000000000000000000 28f8e24755d8792e66738e36f193949a68021709 CI <CI@example.com> 1669566470 +0100 commit (initial): my commit message
|
|
@ -0,0 +1 @@
|
||||||
|
0000000000000000000000000000000000000000 28f8e24755d8792e66738e36f193949a68021709 CI <CI@example.com> 1669566470 +0100 commit (initial): my commit message
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1 @@
|
||||||
|
28f8e24755d8792e66738e36f193949a68021709
|
1
test/integration_new/commit/staging/expected/repo/myfile
Normal file
1
test/integration_new/commit/staging/expected/repo/myfile
Normal file
|
@ -0,0 +1 @@
|
||||||
|
myfile content
|
|
@ -0,0 +1 @@
|
||||||
|
myfile2 content
|
|
@ -0,0 +1 @@
|
||||||
|
my commit message
|
|
@ -0,0 +1 @@
|
||||||
|
ref: refs/heads/master
|
|
@ -0,0 +1,12 @@
|
||||||
|
[core]
|
||||||
|
repositoryformatversion = 0
|
||||||
|
filemode = true
|
||||||
|
bare = false
|
||||||
|
logallrefupdates = true
|
||||||
|
[user]
|
||||||
|
email = CI@example.com
|
||||||
|
name = CI
|
||||||
|
[commit]
|
||||||
|
gpgSign = false
|
||||||
|
[protocol "file"]
|
||||||
|
allow = always
|
|
@ -0,0 +1 @@
|
||||||
|
Unnamed repository; edit this file 'description' to name the repository.
|
Binary file not shown.
|
@ -0,0 +1,6 @@
|
||||||
|
# git ls-files --others --exclude-from=.git/info/exclude
|
||||||
|
# Lines that start with '#' are comments.
|
||||||
|
# For a project mostly in C, the following would be a good set of
|
||||||
|
# exclude patterns (uncomment them if you want to use them):
|
||||||
|
# *.[oa]
|
||||||
|
# *~
|
|
@ -0,0 +1 @@
|
||||||
|
0000000000000000000000000000000000000000 d46951396fe8179592ec90aee0c0414fc0512fc5 CI <CI@example.com> 1669566705 +0100 commit (initial): my commit message
|
|
@ -0,0 +1 @@
|
||||||
|
0000000000000000000000000000000000000000 d46951396fe8179592ec90aee0c0414fc0512fc5 CI <CI@example.com> 1669566705 +0100 commit (initial): my commit message
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1 @@
|
||||||
|
d46951396fe8179592ec90aee0c0414fc0512fc5
|
|
@ -0,0 +1 @@
|
||||||
|
myfile content
|
|
@ -0,0 +1 @@
|
||||||
|
myfile2 content
|
Loading…
Add table
Add a link
Reference in a new issue