1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-07-30 03:23:08 +03:00

migrate more tests

This commit is contained in:
Jesse Duffield
2023-02-22 21:57:32 +11:00
parent 22c10479d5
commit eabe7f462a
258 changed files with 380 additions and 548 deletions

View File

@ -0,0 +1,39 @@
package commit
import (
"github.com/jesseduffield/lazygit/pkg/config"
. "github.com/jesseduffield/lazygit/pkg/integration/components"
)
var ResetAuthor = NewIntegrationTest(NewIntegrationTestArgs{
Description: "Reset author on a commit",
ExtraCmdArgs: "",
Skip: false,
SetupConfig: func(config *config.AppConfig) {},
SetupRepo: func(shell *Shell) {
shell.SetConfig("user.email", "Bill@example.com")
shell.SetConfig("user.name", "Bill Smith")
shell.EmptyCommit("one")
shell.SetConfig("user.email", "John@example.com")
shell.SetConfig("user.name", "John Smith")
},
Run: func(t *TestDriver, keys config.KeybindingConfig) {
t.Views().Commits().
Focus().
Lines(
Contains("BS").Contains("one").IsSelected(),
).
Press(keys.Commits.ResetCommitAuthor).
Tap(func() {
t.ExpectPopup().Menu().
Title(Equals("Amend commit attribute")).
Select(Contains("reset author")).
Confirm()
}).
Lines(
Contains("JS").Contains("one").IsSelected(),
)
},
})

View File

@ -0,0 +1,107 @@
package commit
import (
"github.com/jesseduffield/lazygit/pkg/config"
. "github.com/jesseduffield/lazygit/pkg/integration/components"
)
var Search = NewIntegrationTest(NewIntegrationTestArgs{
Description: "Search for a commit",
ExtraCmdArgs: "",
Skip: false,
SetupConfig: func(config *config.AppConfig) {},
SetupRepo: func(shell *Shell) {
shell.EmptyCommit("one")
shell.EmptyCommit("two")
shell.EmptyCommit("three")
shell.EmptyCommit("four")
},
Run: func(t *TestDriver, keys config.KeybindingConfig) {
t.Views().Commits().
Focus().
Lines(
Contains("four").IsSelected(),
Contains("three"),
Contains("two"),
Contains("one"),
).
Press(keys.Universal.StartSearch).
Tap(func() {
t.ExpectSearch().
Type("two").
Confirm()
t.Views().Search().Content(Contains("matches for 'two' (1 of 1)"))
}).
Lines(
Contains("four"),
Contains("three"),
Contains("two").IsSelected(),
Contains("one"),
).
Press(keys.Universal.StartSearch).
Tap(func() {
t.ExpectSearch().
Type("o").
Confirm()
t.Views().Search().Content(Contains("matches for 'o' (2 of 3)"))
}).
Lines(
Contains("four"),
Contains("three"),
Contains("two").IsSelected(),
Contains("one"),
).
Press("n").
Tap(func() {
t.Views().Search().Content(Contains("matches for 'o' (3 of 3)"))
}).
Lines(
Contains("four"),
Contains("three"),
Contains("two"),
Contains("one").IsSelected(),
).
Press("n").
Tap(func() {
t.Views().Search().Content(Contains("matches for 'o' (1 of 3)"))
}).
Lines(
Contains("four").IsSelected(),
Contains("three"),
Contains("two"),
Contains("one"),
).
Press("n").
Tap(func() {
t.Views().Search().Content(Contains("matches for 'o' (2 of 3)"))
}).
Lines(
Contains("four"),
Contains("three"),
Contains("two").IsSelected(),
Contains("one"),
).
Press("N").
Tap(func() {
t.Views().Search().Content(Contains("matches for 'o' (1 of 3)"))
}).
Lines(
Contains("four").IsSelected(),
Contains("three"),
Contains("two"),
Contains("one"),
).
Press("N").
Tap(func() {
t.Views().Search().Content(Contains("matches for 'o' (3 of 3)"))
}).
Lines(
Contains("four"),
Contains("three"),
Contains("two"),
Contains("one").IsSelected(),
)
},
})

View File

@ -0,0 +1,51 @@
package commit
import (
"github.com/jesseduffield/lazygit/pkg/config"
. "github.com/jesseduffield/lazygit/pkg/integration/components"
)
var SetAuthor = NewIntegrationTest(NewIntegrationTestArgs{
Description: "Set author on a commit",
ExtraCmdArgs: "",
Skip: false,
SetupConfig: func(config *config.AppConfig) {},
SetupRepo: func(shell *Shell) {
shell.SetConfig("user.email", "Bill@example.com")
shell.SetConfig("user.name", "Bill Smith")
shell.EmptyCommit("one")
shell.SetConfig("user.email", "John@example.com")
shell.SetConfig("user.name", "John Smith")
shell.EmptyCommit("two")
},
Run: func(t *TestDriver, keys config.KeybindingConfig) {
t.Views().Commits().
Focus().
Lines(
Contains("JS").Contains("two").IsSelected(),
Contains("BS").Contains("one"),
).
Press(keys.Commits.ResetCommitAuthor).
Tap(func() {
t.ExpectPopup().Menu().
Title(Equals("Amend commit attribute")).
Select(Contains(" set author")). // adding space at start to distinguish from 'reset author'
Confirm()
t.ExpectPopup().Prompt().
Title(Contains("Set author")).
SuggestionLines(
Contains("John Smith"),
Contains("Bill Smith"),
).
ConfirmSuggestion(Contains("John Smith"))
}).
Lines(
Contains("JS").Contains("two").IsSelected(),
Contains("BS").Contains("one"),
)
},
})