-
-
Notifications
You must be signed in to change notification settings - Fork 66
/
Copy pathsuggest_test.go
47 lines (39 loc) · 1.34 KB
/
suggest_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package tag
import (
"testing"
"github.com/stretchr/testify/require"
"github.com/traggo/server/generated/gqlmodel"
"github.com/traggo/server/model"
"github.com/traggo/server/test"
"github.com/traggo/server/test/fake"
)
func TestGQL_SuggestTag_matchesTags(t *testing.T) {
db := test.InMemoryDB(t)
defer db.Close()
db.User(1)
db.User(2)
resolver := ResolverForTag{DB: db.DB}
db.Create(&model.TagDefinition{Key: "project", Color: "#fff", UserID: 1})
db.Create(&model.TagDefinition{Key: "project2", Color: "#fff", UserID: 2})
db.Create(&model.TagDefinition{Key: "priority", Color: "#fff", UserID: 1})
db.Create(&model.TagDefinition{Key: "wood", Color: "#fff", UserID: 1})
tags, err := resolver.SuggestTag(fake.User(1), "pr")
require.Nil(t, err)
expected := []*gqlmodel.TagDefinition{
{Key: "project", Color: "#fff"},
{Key: "priority", Color: "#fff"},
}
require.Equal(t, expected, tags)
}
func TestGQL_SuggestTag_noMatchingTags(t *testing.T) {
db := test.InMemoryDB(t)
defer db.Close()
db.User(1)
resolver := ResolverForTag{DB: db.DB}
db.Create(&model.TagDefinition{Key: "project", Color: "#fff", UserID: 1})
db.Create(&model.TagDefinition{Key: "wood", Color: "#fff", UserID: 1})
tags, err := resolver.SuggestTag(fake.User(1), "fire")
require.Nil(t, err)
expected := []*gqlmodel.TagDefinition{}
require.Equal(t, expected, tags)
}