(t *testing.T)
| 1389 | } |
| 1390 | |
| 1391 | func TestManager_Create_go_binary(t *testing.T) { |
| 1392 | tempDir := t.TempDir() |
| 1393 | t.Chdir(tempDir) |
| 1394 | err := os.MkdirAll("gh-test", 0755) |
| 1395 | require.NoError(t, err) |
| 1396 | |
| 1397 | reg := httpmock.Registry{} |
| 1398 | defer reg.Verify(t) |
| 1399 | reg.Register( |
| 1400 | httpmock.GraphQL(`query UserCurrent\b`), |
| 1401 | httpmock.StringResponse(`{"data":{"viewer":{"login":"jillv"}}}`)) |
| 1402 | |
| 1403 | ios, _, stdout, stderr := iostreams.Test() |
| 1404 | |
| 1405 | gc, gcOne := &mockGitClient{}, &mockGitClient{} |
| 1406 | gc.On("ForRepo", "gh-test").Return(gcOne).Once() |
| 1407 | gc.On("CommandOutput", []string{"init", "--quiet", "gh-test"}).Return("", nil).Once() |
| 1408 | gcOne.On("CommandOutput", []string{"add", "."}).Return("", nil).Once() |
| 1409 | gcOne.On("CommandOutput", []string{"commit", "-m", "initial commit"}).Return("", nil).Once() |
| 1410 | |
| 1411 | updateDir := t.TempDir() |
| 1412 | m := newTestManager(".", updateDir, &http.Client{Transport: ®}, gc, ios) |
| 1413 | |
| 1414 | err = m.Create("gh-test", extensions.GoBinTemplateType) |
| 1415 | require.NoError(t, err) |
| 1416 | |
| 1417 | files, err := os.ReadDir("gh-test") |
| 1418 | require.NoError(t, err) |
| 1419 | assert.Equal(t, []string{".github", ".gitignore", "main.go"}, fileNames(files)) |
| 1420 | |
| 1421 | gitignore, err := os.ReadFile(filepath.Join("gh-test", ".gitignore")) |
| 1422 | require.NoError(t, err) |
| 1423 | assert.Equal(t, heredoc.Doc(` |
| 1424 | /gh-test |
| 1425 | /gh-test.exe |
| 1426 | `), string(gitignore)) |
| 1427 | |
| 1428 | files, err = os.ReadDir(filepath.Join("gh-test", ".github", "workflows")) |
| 1429 | require.NoError(t, err) |
| 1430 | assert.Equal(t, []string{"release.yml"}, fileNames(files)) |
| 1431 | |
| 1432 | assert.Equal(t, heredoc.Doc(` |
| 1433 | [go mod init github.com/jillv/gh-test] |
| 1434 | [go mod tidy] |
| 1435 | [go build] |
| 1436 | `), stdout.String()) |
| 1437 | assert.Equal(t, "", stderr.String()) |
| 1438 | gc.AssertExpectations(t) |
| 1439 | gcOne.AssertExpectations(t) |
| 1440 | } |
| 1441 | |
| 1442 | func TestManager_Create_other_binary(t *testing.T) { |
| 1443 | tempDir := t.TempDir() |
nothing calls this directly
no test coverage detected