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

Function TestClientCheckoutNewBranch

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

Source from the content-addressed store, hash-verified

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