feat(tests): Add tag generator utility functions for tests
Some checks failed
Gitea Build Check / Build (push) Failing after 30s
Some checks failed
Gitea Build Check / Build (push) Failing after 30s
This commit is contained in:
parent
a4792f5d67
commit
8668d504b9
69
test/generator.go
Normal file
69
test/generator.go
Normal file
@ -0,0 +1,69 @@
|
||||
package test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math/rand"
|
||||
|
||||
"git.anthrove.art/Anthrove/otter-space-sdk/v2/pkg/models"
|
||||
"github.com/davecgh/go-spew/spew"
|
||||
gonanoid "github.com/matoous/go-nanoid/v2"
|
||||
)
|
||||
|
||||
func GenerateRandomTags(numTags int) []models.Tag {
|
||||
var tags []models.Tag
|
||||
tagTypes := []models.TagType{"general", "species", "character", "artist", "lore", "meta", "invalid", "copyright"}
|
||||
|
||||
for i := 0; i < numTags; i++ {
|
||||
id, _ := gonanoid.New(10)
|
||||
tagName := spew.Sprintf("tag_name_%s", id)
|
||||
|
||||
tagType := tagTypes[rand.Intn(len(tagTypes))]
|
||||
|
||||
tag := models.Tag{
|
||||
Name: models.TagName(tagName),
|
||||
Type: tagType,
|
||||
}
|
||||
|
||||
tags = append(tags, tag)
|
||||
}
|
||||
|
||||
return tags
|
||||
}
|
||||
|
||||
func GenerateRandomTagGroups(tags []models.Tag, numGroups int) []models.TagGroup {
|
||||
var tagGroups []models.TagGroup
|
||||
|
||||
for i := 0; i < numGroups; i++ {
|
||||
id, _ := gonanoid.New(10)
|
||||
groupName := fmt.Sprintf("tag_group_%s", id)
|
||||
randomTag := tags[rand.Intn(len(tags))]
|
||||
|
||||
tagGroup := models.TagGroup{
|
||||
Name: models.TagGroupName(groupName),
|
||||
TagID: randomTag.Name,
|
||||
}
|
||||
|
||||
tagGroups = append(tagGroups, tagGroup)
|
||||
}
|
||||
|
||||
return tagGroups
|
||||
}
|
||||
|
||||
func GenerateRandomTagAlias(tags []models.Tag, numGroups int) []models.TagAlias {
|
||||
var tagAliases []models.TagAlias
|
||||
|
||||
for i := 0; i < numGroups; i++ {
|
||||
id, _ := gonanoid.New(10)
|
||||
groupName := fmt.Sprintf("tag_alias_%s", id)
|
||||
randomTag := tags[rand.Intn(len(tags))]
|
||||
|
||||
tagAlias := models.TagAlias{
|
||||
Name: models.TagAliasName(groupName),
|
||||
TagID: randomTag.Name,
|
||||
}
|
||||
|
||||
tagAliases = append(tagAliases, tagAlias)
|
||||
}
|
||||
|
||||
return tagAliases
|
||||
}
|
Loading…
Reference in New Issue
Block a user