Covered names.go with tests

This commit is contained in:
Artyom Belousov 2021-02-07 09:30:16 +03:00
parent c8efc24ef5
commit 90d8cc9c48
2 changed files with 35 additions and 45 deletions

View file

@ -1,53 +1,49 @@
package cardsinfo
import (
"encoding/json"
"github.com/stretchr/testify/assert"
"gopkg.in/h2non/gock.v1"
"net/http"
"strings"
"testing"
)
func TestGetCardByStringFull(t *testing.T) {
name := GetOriginalName("Шок", nil)
assert.Equal(t, "Shock", name)
func TestGetNameByCardId(t *testing.T) {
defer gock.Off()
gock.New(ScryfallUrl + "/set/1").Reply(http.StatusOK).JSON(Card{
Name: "card",
})
name := GetNameByCardId("set", "1")
assert.Equal(t, "card", name)
}
func TestGetCardByStringSplit(t *testing.T) {
name := GetOriginalName("commit", nil)
assert.Equal(t, "Commit // Memory", name)
func TestGetOriginalName_Scryfall(t *testing.T) {
defer gock.Off()
gock.New(ScryfallUrl + "/cards/named?fuzzy=card").Reply(http.StatusOK).JSON(Card{
Name: "Result Card",
})
name := GetOriginalName("card", nil)
assert.Equal(t, "Result Card", name)
}
func TestGetCardByStringDouble(t *testing.T) {
name := GetOriginalName("Legion's landing", nil)
assert.Equal(t, "Legion's Landing | Adanto, the First Fort", name)
}
func TestGetOriginalName_Dict(t *testing.T) {
defer gock.Off()
func TestGetCardByStringPrefix(t *testing.T) {
name := GetOriginalName("Тефери, герой", nil)
assert.Equal(t, "Teferi, Hero of Dominaria", name)
gock.New(ScryfallUrl + "/cards/named?fuzzy=card").Reply(http.StatusOK).JSON(Card{})
serialized, _ := json.Marshal(map[string]string{
"card": "Card",
})
dict := strings.NewReader(string(serialized))
name := GetOriginalName("card", dict)
assert.Equal(t, "Card", name)
}
func TestGetOriginalName_BadJson(t *testing.T) {
defer gock.Off()
func TestGetCardByStringEnglish(t *testing.T) {
name := GetOriginalName("Teferi, Hero of Dominaria", nil)
assert.Equal(t, "Teferi, Hero of Dominaria", name)
}
func TestGetCardByStringWrong(t *testing.T) {
name := GetOriginalName("fwijefiwjfew", nil)
gock.New(ScryfallUrl + "/cards/named?fuzzy=card").Reply(http.StatusOK).BodyString("}")
name := GetOriginalName("card", nil)
assert.Equal(t, "", name)
}
func TestGetCardBySetId(t *testing.T) {
name := GetNameByCardId("DOM", "207")
assert.Equal(t, "Teferi, Hero of Dominaria", name)
}
func TestGetCardBySetIdWrong(t *testing.T) {
name := GetNameByCardId("DOM", "1207")
assert.Equal(t, "", name)
}
func TestGetCardByStringDict(t *testing.T) {
dictContent := "{\"n0suchc8rdc8n3x1s1\":\"Success\"}"
name := GetOriginalName("n0suchc8rdc8n3x1s1", strings.NewReader(dictContent))
assert.Equal(t, "Success", name)
}