37 lines
1.1 KiB
Go
37 lines
1.1 KiB
Go
package tag
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
"github.com/traggo/server/generated/gqlmodel"
|
|
"github.com/traggo/server/test"
|
|
"github.com/traggo/server/test/fake"
|
|
)
|
|
|
|
func TestGQL_Tags(t *testing.T) {
|
|
db := test.InMemoryDB(t)
|
|
defer db.Close()
|
|
left := db.User(5)
|
|
right := db.User(2)
|
|
left.NewTagDefinition("my tag")
|
|
left.NewTagDefinition("my tag 2")
|
|
left.TimeSpan("2009-06-30T18:30:00Z", "2009-06-30T18:40:00Z").Tag("my tag", "value")
|
|
left.TimeSpan("2009-06-30T18:30:00Z", "2009-06-30T18:40:00Z").Tag("my tag", "value").Tag("my tag 2", "v")
|
|
left.TimeSpan("2009-06-30T18:30:00Z", "2009-06-30T18:40:00Z").Tag("my tag", "value").Tag("my tag 2", "v")
|
|
right.NewTagDefinition("my tag")
|
|
right.NewTagDefinition("my tag 2")
|
|
right.NewTagDefinition("my tag 5")
|
|
right.TimeSpan("2009-06-30T18:30:00Z", "2009-06-30T18:40:00Z").Tag("my tag", "value").Tag("my tag 2", "v")
|
|
|
|
resolver := ResolverForTag{DB: db.DB}
|
|
tags, err := resolver.Tags(fake.User(left.User.ID))
|
|
|
|
require.Nil(t, err)
|
|
expected := []*gqlmodel.TagDefinition{
|
|
{Key: "my tag", Usages: 3},
|
|
{Key: "my tag 2", Usages: 2},
|
|
}
|
|
require.Equal(t, expected, tags)
|
|
}
|