MCPcopy Create free account
hub / github.com/cli/cli / TestClientCheckoutNewBranch

Function TestClientCheckoutNewBranch

git/client_test.go:1389–1426  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1387}
1388
1389func TestClientCheckoutNewBranch(t *testing.T) {
1390 tests := []struct {
1391 name string
1392 cmdExitStatus int
1393 cmdStdout string
1394 cmdStderr string
1395 wantCmdArgs string
1396 wantErrorMsg string
1397 }{
1398 {
1399 name: "checkout new branch",
1400 wantCmdArgs: `path/to/git checkout -b trunk --track origin/trunk`,
1401 },
1402 {
1403 name: "git error",
1404 cmdExitStatus: 1,
1405 cmdStderr: "git error message",
1406 wantCmdArgs: `path/to/git checkout -b trunk --track origin/trunk`,
1407 wantErrorMsg: "failed to run git: git error message",
1408 },
1409 }
1410 for _, tt := range tests {
1411 t.Run(tt.name, func(t *testing.T) {
1412 cmd, cmdCtx := createCommandContext(t, tt.cmdExitStatus, tt.cmdStdout, tt.cmdStderr)
1413 client := Client{
1414 GitPath: "path/to/git",
1415 commandContext: cmdCtx,
1416 }
1417 err := client.CheckoutNewBranch(context.Background(), "origin", "trunk")
1418 assert.Equal(t, tt.wantCmdArgs, strings.Join(cmd.Args[3:], " "))
1419 if tt.wantErrorMsg == "" {
1420 assert.NoError(t, err)
1421 } else {
1422 assert.EqualError(t, err, tt.wantErrorMsg)
1423 }
1424 })
1425 }
1426}
1427
1428func TestClientToplevelDir(t *testing.T) {
1429 tests := []struct {

Callers

nothing calls this directly

Calls 5

CheckoutNewBranchMethod · 0.95
createCommandContextFunction · 0.85
EqualMethod · 0.80
JoinMethod · 0.80
RunMethod · 0.65

Tested by

no test coverage detected