1package testenv
2
3import (
4 "testing"
5
6 "github.com/stretchr/testify/require"
7
8 "github.com/MichaelMure/git-bug/commands/execenv"
9 "github.com/MichaelMure/git-bug/entity"
10)
11
12const (
13 testUserName = "John Doe"
14 testUserEmail = "jdoe@example.com"
15)
16
17func NewTestEnvAndUser(t *testing.T) (*execenv.Env, entity.Id) {
18 t.Helper()
19
20 testEnv := execenv.NewTestEnv(t)
21
22 i, err := testEnv.Backend.NewIdentity(testUserName, testUserEmail)
23 require.NoError(t, err)
24
25 err = testEnv.Backend.SetUserIdentity(i)
26 require.NoError(t, err)
27
28 return testEnv, i.Id()
29}
30
31const (
32 testBugTitle = "this is a bug title"
33 testBugMessage = "this is a bug message"
34)
35
36func NewTestEnvAndBug(t *testing.T) (*execenv.Env, entity.Id) {
37 t.Helper()
38
39 testEnv, _ := NewTestEnvAndUser(t)
40
41 b, _, err := testEnv.Backend.NewBug(testBugTitle, testBugMessage)
42 require.NoError(t, err)
43
44 return testEnv, b.Id()
45}
46
47const (
48 testCommentMessage = "this is a bug comment"
49)
50
51func NewTestEnvAndBugWithComment(t *testing.T) (*execenv.Env, entity.Id, entity.CombinedId) {
52 t.Helper()
53
54 env, bugID := NewTestEnvAndBug(t)
55
56 b, err := env.Backend.ResolveBug(bugID)
57 require.NoError(t, err)
58
59 commentId, _, err := b.AddComment(testCommentMessage)
60 require.NoError(t, err)
61
62 return env, bugID, commentId
63}