summaryrefslogtreecommitdiffstats
path: root/pkg/commands/git_commands/branch_loader_test.go
diff options
context:
space:
mode:
authorAlex March <alexmarch@fastmail.com>2023-12-21 17:57:58 +0900
committerStefan Haller <stefan@haller-berlin.de>2023-12-27 15:25:29 +0100
commit36a29f225b417d993ba7497be4325cbceeffb4cb (patch)
tree49e31897056b1453c31694e8bde1aa4a055f6026 /pkg/commands/git_commands/branch_loader_test.go
parent1e85c4379f8d2faa4b9cfb2e43bac1d5fc41638a (diff)
Add a sort order menu for local branches
Diffstat (limited to 'pkg/commands/git_commands/branch_loader_test.go')
-rw-r--r--pkg/commands/git_commands/branch_loader_test.go54
1 files changed, 40 insertions, 14 deletions
diff --git a/pkg/commands/git_commands/branch_loader_test.go b/pkg/commands/git_commands/branch_loader_test.go
index f16dcf5f4..9e56666fe 100644
--- a/pkg/commands/git_commands/branch_loader_test.go
+++ b/pkg/commands/git_commands/branch_loader_test.go
@@ -2,7 +2,9 @@ package git_commands
// "*|feat/detect-purge|origin/feat/detect-purge|[ahead 1]"
import (
+ "strconv"
"testing"
+ "time"
"github.com/jesseduffield/lazygit/pkg/commands/models"
"github.com/stretchr/testify/assert"
@@ -10,15 +12,21 @@ import (
func TestObtainBranch(t *testing.T) {
type scenario struct {
- testName string
- input []string
- expectedBranch *models.Branch
+ testName string
+ input []string
+ storeCommitDateAsRecency bool
+ expectedBranch *models.Branch
}
+ // Use a time stamp of 2 1/2 hours ago, resulting in a recency string of "2h"
+ now := time.Now().Unix()
+ timeStamp := strconv.Itoa(int(now - 2.5*60*60))
+
scenarios := []scenario{
{
- testName: "TrimHeads",
- input: []string{"", "heads/a_branch", "", "", "subject", "123"},
+ testName: "TrimHeads",
+ input: []string{"", "heads/a_branch", "", "", "subject", "123", timeStamp},
+ storeCommitDateAsRecency: false,
expectedBranch: &models.Branch{
Name: "a_branch",
Pushables: "?",
@@ -29,8 +37,9 @@ func TestObtainBranch(t *testing.T) {
},
},
{
- testName: "NoUpstream",
- input: []string{"", "a_branch", "", "", "subject", "123"},
+ testName: "NoUpstream",
+ input: []string{"", "a_branch", "", "", "subject", "123", timeStamp},
+ storeCommitDateAsRecency: false,
expectedBranch: &models.Branch{
Name: "a_branch",
Pushables: "?",
@@ -41,8 +50,9 @@ func TestObtainBranch(t *testing.T) {
},
},
{
- testName: "IsHead",
- input: []string{"*", "a_branch", "", "", "subject", "123"},
+ testName: "IsHead",
+ input: []string{"*", "a_branch", "", "", "subject", "123", timeStamp},
+ storeCommitDateAsRecency: false,
expectedBranch: &models.Branch{
Name: "a_branch",
Pushables: "?",
@@ -53,8 +63,9 @@ func TestObtainBranch(t *testing.T) {
},
},
{
- testName: "IsBehindAndAhead",
- input: []string{"", "a_branch", "a_remote/a_branch", "[behind 2, ahead 3]", "subject", "123"},
+ testName: "IsBehindAndAhead",
+ input: []string{"", "a_branch", "a_remote/a_branch", "[behind 2, ahead 3]", "subject", "123", timeStamp},
+ storeCommitDateAsRecency: false,
expectedBranch: &models.Branch{
Name: "a_branch",
Pushables: "3",
@@ -65,8 +76,9 @@ func TestObtainBranch(t *testing.T) {
},
},
{
- testName: "RemoteBranchIsGone",
- input: []string{"", "a_branch", "a_remote/a_branch", "[gone]", "subject", "123"},
+ testName: "RemoteBranchIsGone",
+ input: []string{"", "a_branch", "a_remote/a_branch", "[gone]", "subject", "123", timeStamp},
+ storeCommitDateAsRecency: false,
expectedBranch: &models.Branch{
Name: "a_branch",
UpstreamGone: true,
@@ -77,11 +89,25 @@ func TestObtainBranch(t *testing.T) {
CommitHash: "123",
},
},
+ {
+ testName: "WithCommitDateAsRecency",
+ input: []string{"", "a_branch", "", "", "subject", "123", timeStamp},
+ storeCommitDateAsRecency: true,
+ expectedBranch: &models.Branch{
+ Name: "a_branch",
+ Recency: "2h",
+ Pushables: "?",
+ Pullables: "?",
+ Head: false,
+ Subject: "subject",
+ CommitHash: "123",
+ },
+ },
}
for _, s := range scenarios {
t.Run(s.testName, func(t *testing.T) {
- branch := obtainBranch(s.input)
+ branch := obtainBranch(s.input, s.storeCommitDateAsRecency)
assert.EqualValues(t, s.expectedBranch, branch)
})
}