(t *testing.T)
| 1313 | } |
| 1314 | |
| 1315 | func TestManager_Create_go_binary(t *testing.T) { |
| 1316 | tempDir := t.TempDir() |
| 1317 | t.Chdir(tempDir) |
| 1318 | err := os.MkdirAll("gh-test", 0755) |
| 1319 | require.NoError(t, err) |
| 1320 | |
| 1321 | reg := httpmock.Registry{} |
| 1322 | defer reg.Verify(t) |
| 1323 | reg.Register( |
| 1324 | httpmock.GraphQL(`query UserCurrent\b`), |
| 1325 | httpmock.StringResponse(`{"data":{"viewer":{"login":"jillv"}}}`)) |
| 1326 | |
| 1327 | ios, _, stdout, stderr := iostreams.Test() |
| 1328 | |
| 1329 | gc, gcOne := &mockGitClient{}, &mockGitClient{} |
| 1330 | gc.On("ForRepo", "gh-test").Return(gcOne).Once() |
| 1331 | gc.On("CommandOutput", []string{"init", "--quiet", "gh-test"}).Return("", nil).Once() |
| 1332 | gcOne.On("CommandOutput", []string{"add", "."}).Return("", nil).Once() |
| 1333 | gcOne.On("CommandOutput", []string{"commit", "-m", "initial commit"}).Return("", nil).Once() |
| 1334 | |
| 1335 | updateDir := t.TempDir() |
| 1336 | m := newTestManager(".", updateDir, &http.Client{Transport: ®}, gc, ios) |
| 1337 | |
| 1338 | err = m.Create("gh-test", extensions.GoBinTemplateType) |
| 1339 | require.NoError(t, err) |
| 1340 | |
| 1341 | files, err := os.ReadDir("gh-test") |
| 1342 | require.NoError(t, err) |
| 1343 | assert.Equal(t, []string{".github", ".gitignore", "main.go"}, fileNames(files)) |
| 1344 | |
| 1345 | gitignore, err := os.ReadFile(filepath.Join("gh-test", ".gitignore")) |
| 1346 | require.NoError(t, err) |
| 1347 | assert.Equal(t, heredoc.Doc(` |
| 1348 | /gh-test |
| 1349 | /gh-test.exe |
| 1350 | `), string(gitignore)) |
| 1351 | |
| 1352 | files, err = os.ReadDir(filepath.Join("gh-test", ".github", "workflows")) |
| 1353 | require.NoError(t, err) |
| 1354 | assert.Equal(t, []string{"release.yml"}, fileNames(files)) |
| 1355 | |
| 1356 | assert.Equal(t, heredoc.Doc(` |
| 1357 | [go mod init github.com/jillv/gh-test] |
| 1358 | [go mod tidy] |
| 1359 | [go build] |
| 1360 | `), stdout.String()) |
| 1361 | assert.Equal(t, "", stderr.String()) |
| 1362 | gc.AssertExpectations(t) |
| 1363 | gcOne.AssertExpectations(t) |
| 1364 | } |
| 1365 | |
| 1366 | func TestManager_Create_other_binary(t *testing.T) { |
| 1367 | tempDir := t.TempDir() |
nothing calls this directly
no test coverage detected