summaryrefslogtreecommitdiffstats
path: root/pkg/integration/integration_tests/branch/suggestions.go
blob: ff37ec9be2aea5ef68e75654efe1fbf17f8ad1ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package branch

import (
	"github.com/jesseduffield/lazygit/pkg/config"
	"github.com/jesseduffield/lazygit/pkg/integration/types"
)

var Suggestions = types.NewTest(types.NewTestArgs{
	Description:  "Checking out a branch with name suggestions",
	ExtraCmdArgs: "",
	Skip:         false,
	SetupConfig:  func(config *config.AppConfig) {},
	SetupRepo: func(shell types.Shell) {
		shell.
			EmptyCommit("my commit message").
			NewBranch("new-branch").
			NewBranch("new-branch-2").
			NewBranch("new-branch-3").
			NewBranch("branch-to-checkout").
			NewBranch("other-new-branch-2").
			NewBranch("other-new-branch-3")
	},
	Run: func(shell types.Shell, input types.Input, assert types.Assert, keys config.KeybindingConfig) {
		input.SwitchToBranchesWindow()

		input.PushKeys(keys.Branches.CheckoutBranchByName)
		assert.CurrentViewName("confirmation")

		input.Type("branch-to")

		input.PushKeys(keys.Universal.TogglePanel)
		assert.CurrentViewName("suggestions")

		// we expect the first suggestion to be the branch we want because it most
		// closely matches what we typed in
		input.Confirm()

		assert.CurrentBranchName("branch-to-checkout")
	},
})