summaryrefslogtreecommitdiffstats
path: root/pkg/gui/controllers/helpers/upstream_helper_test.go
blob: ac7a6a8bff40bb8e72739b08d6b1207f1cb1aa73 (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
package helpers

import (
	"testing"

	"github.com/jesseduffield/generics/slices"
	"github.com/jesseduffield/lazygit/pkg/commands/models"
	"github.com/stretchr/testify/assert"
)

func TestGetSuggestedRemote(t *testing.T) {
	cases := []struct {
		remotes  []*models.Remote
		expected string
	}{
		{mkRemoteList(), "origin"},
		{mkRemoteList("upstream", "origin", "foo"), "origin"},
		{mkRemoteList("upstream", "foo", "bar"), "upstream"},
	}

	for _, c := range cases {
		result := getSuggestedRemote(c.remotes)
		assert.EqualValues(t, c.expected, result)
	}
}

func mkRemoteList(names ...string) []*models.Remote {
	return slices.Map(names, func(name string) *models.Remote {
		return &models.Remote{Name: name}
	})
}