diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2023-02-22 22:25:18 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2023-02-22 22:29:01 +1100 |
commit | 1034962c7edad578427d056b7421c9195c29a457 (patch) | |
tree | c901a2309df784d3cdbe4d337c8b03acf61e20d2 /pkg/integration/tests/sync/pull_rebase_conflict.go | |
parent | eabe7f462a1f950d05b66306c19a00855e3fa175 (diff) |
migrate more tests
Diffstat (limited to 'pkg/integration/tests/sync/pull_rebase_conflict.go')
-rw-r--r-- | pkg/integration/tests/sync/pull_rebase_conflict.go | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/pkg/integration/tests/sync/pull_rebase_conflict.go b/pkg/integration/tests/sync/pull_rebase_conflict.go new file mode 100644 index 000000000..4ea419a74 --- /dev/null +++ b/pkg/integration/tests/sync/pull_rebase_conflict.go @@ -0,0 +1,83 @@ +package sync + +import ( + "github.com/jesseduffield/lazygit/pkg/config" + . "github.com/jesseduffield/lazygit/pkg/integration/components" +) + +var PullRebaseConflict = NewIntegrationTest(NewIntegrationTestArgs{ + Description: "Pull with a rebase strategy, where a conflict occurs", + ExtraCmdArgs: "", + Skip: false, + SetupConfig: func(config *config.AppConfig) {}, + SetupRepo: func(shell *Shell) { + shell.CreateFileAndAdd("file", "content1") + shell.Commit("one") + shell.UpdateFileAndAdd("file", "content2") + shell.Commit("two") + shell.EmptyCommit("three") + + shell.CloneIntoRemote("origin") + + shell.SetBranchUpstream("master", "origin/master") + + shell.HardReset("HEAD^^") + shell.UpdateFileAndAdd("file", "content4") + shell.Commit("four") + + shell.SetConfig("pull.rebase", "true") + }, + Run: func(t *TestDriver, keys config.KeybindingConfig) { + t.Views().Commits(). + Lines( + Contains("four"), + Contains("one"), + ) + + t.Views().Status().Content(Contains("↓2 repo → master")) + + t.Views().Files(). + IsFocused(). + Press(keys.Universal.Pull) + + t.Actions().AcknowledgeConflicts() + + t.Views().Files(). + IsFocused(). + Lines( + Contains("UU").Contains("file"), + ). + PressEnter() + + t.Views().MergeConflicts(). + IsFocused(). + TopLines( + Contains("<<<<<<< HEAD"), + Contains("content2"), + Contains("======="), + Contains("content4"), + Contains(">>>>>>>"), + ). + SelectNextItem(). + PressPrimaryAction() // choose 'content4' + + t.Actions().ContinueOnConflictsResolved() + + t.Views().Status().Content(Contains("↑1 repo → master")) + + t.Views().Commits(). + Focus(). + Lines( + Contains("four").IsSelected(), + Contains("three"), + Contains("two"), + Contains("one"), + ) + + t.Views().Main(). + Content( + Contains("-content2"). + Contains("+content4"), + ) + }, +}) |