package model import ( "testing" "git.aiterp.net/AiteRP/aitestory/server" ) func TestTag(t *testing.T) { if server.Main.Config.DB.Password == "" { t.Skip("No database password") return } t.Run("Insert", func(t *testing.T) { tag := Tag{} tag.Name = "Te'Eryvi" tag.Type = "Organization" err := tag.Insert() if err != nil { t.Log("Failed to insert:", err) t.Fail() } }) t.Run("Insert_BadType", func(t *testing.T) { tag := Tag{} tag.Name = "Ehanis Tioran" tag.Type = "Karakter" err := tag.Insert() if err == nil { t.Log("Oops, it was inserted.") t.Fail() return } if err.Error() != `"Karakter" is not a valid tag type` { t.Log("Wrong error:", err) t.Fail() } }) t.Run("Insert_BadName", func(t *testing.T) { tag := Tag{} tag.Name = "" tag.Type = "Character" err := tag.Insert() if err == nil { t.Log("Oops, it was inserted.") t.Fail() return } if err.Error() != `Tag name is empty` { t.Log("Wrong error:", err) t.Fail() } }) t.Run("List", func(t *testing.T) { tags, err := ListTags() if err != nil { t.Log("Failed to get tags:", err) t.Fail() } if len(tags) == 0 { t.Log("No tags found") t.Fail() } t.Logf("%d tags found", len(tags)) found := false for _, tag := range tags { if tag.Name == "Te'Eryvi" { t.Logf("Tag found: %+v", tag) found = true break } } if !found { t.Log("The tag inserted in last test wasn't found") t.Fail() } }) }