| 1360 | } |
| 1361 | |
| 1362 | func TestManager_Create(t *testing.T) { |
| 1363 | tempDir := t.TempDir() |
| 1364 | t.Chdir(tempDir) |
| 1365 | err := os.MkdirAll("gh-test", 0755) |
| 1366 | require.NoError(t, err) |
| 1367 | |
| 1368 | ios, _, stdout, stderr := iostreams.Test() |
| 1369 | |
| 1370 | gc, gcOne := &mockGitClient{}, &mockGitClient{} |
| 1371 | gc.On("ForRepo", "gh-test").Return(gcOne).Once() |
| 1372 | gc.On("CommandOutput", []string{"init", "--quiet", "gh-test"}).Return("", nil).Once() |
| 1373 | gcOne.On("CommandOutput", []string{"add", "gh-test", "--chmod=+x"}).Return("", nil).Once() |
| 1374 | gcOne.On("CommandOutput", []string{"commit", "-m", "initial commit"}).Return("", nil).Once() |
| 1375 | |
| 1376 | updateDir := t.TempDir() |
| 1377 | m := newTestManager(".", updateDir, nil, gc, ios) |
| 1378 | |
| 1379 | err = m.Create("gh-test", extensions.GitTemplateType) |
| 1380 | assert.NoError(t, err) |
| 1381 | files, err := os.ReadDir("gh-test") |
| 1382 | assert.NoError(t, err) |
| 1383 | assert.Equal(t, []string{"gh-test"}, fileNames(files)) |
| 1384 | |
| 1385 | assert.Equal(t, "", stdout.String()) |
| 1386 | assert.Equal(t, "", stderr.String()) |
| 1387 | gc.AssertExpectations(t) |
| 1388 | gcOne.AssertExpectations(t) |
| 1389 | } |
| 1390 | |
| 1391 | func TestManager_Create_go_binary(t *testing.T) { |
| 1392 | tempDir := t.TempDir() |