1package commands
2
3import (
4 "bytes"
5 "testing"
6
7 "github.com/stretchr/testify/require"
8
9 "github.com/MichaelMure/git-bug/cache"
10 "github.com/MichaelMure/git-bug/repository"
11)
12
13type testEnv struct {
14 env *Env
15 cwd string
16 out *bytes.Buffer
17}
18
19func newTestEnv(t *testing.T) *testEnv {
20 t.Helper()
21
22 repo := repository.CreateGoGitTestRepo(t, false)
23 cwd := repository.RepoDir(t, repo)
24
25 buf := new(bytes.Buffer)
26
27 backend, err := cache.NewRepoCache(repo)
28 require.NoError(t, err)
29 t.Cleanup(func() {
30 backend.Close()
31 })
32
33 return &testEnv{
34 env: &Env{
35 repo: repo,
36 backend: backend,
37 out: out{Writer: buf},
38 err: out{Writer: buf},
39 },
40 cwd: cwd,
41 out: buf,
42 }
43}