mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-05-11 12:25:47 +02:00
Add GitVersion field to NewIntegrationTestArgs
It can be used to specify which git versions a given test should or should not run on.
This commit is contained in:
parent
227b0b781c
commit
a304fed68c
4 changed files with 149 additions and 2 deletions
|
@ -4,6 +4,7 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/jesseduffield/gocui"
|
||||
"github.com/jesseduffield/lazygit/pkg/commands/git_commands"
|
||||
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
||||
"github.com/jesseduffield/lazygit/pkg/config"
|
||||
"github.com/jesseduffield/lazygit/pkg/gui/types"
|
||||
|
@ -87,3 +88,65 @@ func TestSuccess(t *testing.T) {
|
|||
assert.EqualValues(t, []string{"a", "b"}, driver.pressedKeys)
|
||||
assert.Equal(t, "", driver.failureMessage)
|
||||
}
|
||||
|
||||
func TestGitVersionRestriction(t *testing.T) {
|
||||
scenarios := []struct {
|
||||
testName string
|
||||
gitVersion GitVersionRestriction
|
||||
expectedShouldRun bool
|
||||
}{
|
||||
{
|
||||
testName: "From, current is newer",
|
||||
gitVersion: From("2.24.9"),
|
||||
expectedShouldRun: true,
|
||||
},
|
||||
{
|
||||
testName: "From, current is same",
|
||||
gitVersion: From("2.25.0"),
|
||||
expectedShouldRun: true,
|
||||
},
|
||||
{
|
||||
testName: "From, current is older",
|
||||
gitVersion: From("2.26.0"),
|
||||
expectedShouldRun: false,
|
||||
},
|
||||
{
|
||||
testName: "Before, current is older",
|
||||
gitVersion: Before("2.24.9"),
|
||||
expectedShouldRun: false,
|
||||
},
|
||||
{
|
||||
testName: "Before, current is same",
|
||||
gitVersion: Before("2.25.0"),
|
||||
expectedShouldRun: false,
|
||||
},
|
||||
{
|
||||
testName: "Before, current is newer",
|
||||
gitVersion: Before("2.26.0"),
|
||||
expectedShouldRun: true,
|
||||
},
|
||||
{
|
||||
testName: "Includes, current is included",
|
||||
gitVersion: Includes("2.23.0", "2.25.0"),
|
||||
expectedShouldRun: true,
|
||||
},
|
||||
{
|
||||
testName: "Includes, current is not included",
|
||||
gitVersion: Includes("2.23.0", "2.27.0"),
|
||||
expectedShouldRun: false,
|
||||
},
|
||||
}
|
||||
|
||||
currentGitVersion := git_commands.GitVersion{Major: 2, Minor: 25, Patch: 0}
|
||||
|
||||
for _, s := range scenarios {
|
||||
t.Run(s.testName, func(t *testing.T) {
|
||||
test := NewIntegrationTest(NewIntegrationTestArgs{
|
||||
Description: unitTestDescription,
|
||||
GitVersion: s.gitVersion,
|
||||
})
|
||||
shouldRun := test.ShouldRunForGitVersion(¤tGitVersion)
|
||||
assert.Equal(t, shouldRun, s.expectedShouldRun)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue