Separated foils from regulars

This commit is contained in:
Artyom Belousov 2020-09-22 11:00:17 +03:00
parent ca5468eb15
commit 495842efc0
4 changed files with 16 additions and 9 deletions

View file

@ -8,8 +8,15 @@ func FormatCardPrices(name string, prices []CardPrice) string {
message := fmt.Sprintf("Оригинальное название: %v\n", name) message := fmt.Sprintf("Оригинальное название: %v\n", name)
message += fmt.Sprintf("Результатов: %v\n", len(prices)) message += fmt.Sprintf("Результатов: %v\n", len(prices))
for i, v := range prices { for i, v := range prices {
message += fmt.Sprintf("%v. %v: $%v\n", i+1, v.Edition, v.Price) message += fmt.Sprintf("%v. %v\nRegular: %v\nFoil: %v\n", i+1, v.Edition, formatPrice(v.Price), formatPrice(v.PriceFoil))
message += fmt.Sprintf("%v\n", v.Link) message += fmt.Sprintf("%v\n", v.Link)
} }
return message return message
} }
func formatPrice(price string) string {
if price == "" {
return "-"
}
return fmt.Sprintf("$%v", price)
}

View file

@ -20,15 +20,14 @@ func GetPrices(name string) ([]CardPrice, error) {
var prices []CardPrice var prices []CardPrice
for _, card := range resp.Cards { for _, card := range resp.Cards {
foilString := "" foilString := ""
price := card.Prices.USD
if card.Foil {
foilString = "(Foil)"
price = card.Prices.USDFoil
}
edition := card.SetName + foilString edition := card.SetName + foilString
if card.Prices.USD == "" && card.Prices.USDFoil == "" {
continue
}
cardPrice := CardPrice { cardPrice := CardPrice {
Edition: edition, Edition: edition,
Price: price, Price: card.Prices.USD,
PriceFoil: card.Prices.USDFoil,
Name: card.Name, Name: card.Name,
Link: card.PurchaseURIs.TCGPlayer, Link: card.PurchaseURIs.TCGPlayer,
} }

View file

@ -7,6 +7,7 @@ import (
type CardPrice struct { type CardPrice struct {
Name string Name string
Price string Price string
PriceFoil string
Link string Link string
Edition string Edition string
} }

View file

@ -10,7 +10,7 @@ func TestFormat(t *testing.T) {
data := []cardsinfo.CardPrice{ data := []cardsinfo.CardPrice{
{ {
Name: "Green lotus", Name: "Green lotus",
Price: "22.8", PriceFoil: "22.8",
Link: "scg.com/1", Link: "scg.com/1",
Edition: "alpha", Edition: "alpha",
}, },
@ -22,6 +22,6 @@ func TestFormat(t *testing.T) {
}, },
} }
res := cardsinfo.FormatCardPrices("Black Lotus", data) res := cardsinfo.FormatCardPrices("Black Lotus", data)
ans := "Оригинальное название: Black Lotus\nРезультатов: 2\n1. alpha: $22.8\nscg.com/1\n2. gamma: $3.22\nscg.com/2\n" ans := "Оригинальное название: Black Lotus\nРезультатов: 2\n1. alpha\nRegular: -\nFoil: $22.8\nscg.com/1\n2. gamma\nRegular: $3.22\nFoil: -\nscg.com/2\n"
assert.Equal(t, res, ans) assert.Equal(t, res, ans)
} }