-
Notifications
You must be signed in to change notification settings - Fork 30
/
Copy pathmodel_test.go
67 lines (62 loc) · 1.55 KB
/
model_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package datadragon
import (
"testing"
log "github.com/sirupsen/logrus"
"github.com/stretchr/testify/assert"
"github.com/KnutZuidema/golio/api"
"github.com/KnutZuidema/golio/internal"
)
func TestChampionData_GetExtended(t *testing.T) {
type test struct {
name string
doer internal.Doer
data *ChampionData
want ChampionDataExtended
wantErr bool
}
tests := []test{
{
name: "valid",
doer: dataDragonResponseDoer(map[string]*ChampionDataExtended{
"champion": {ChampionData: ChampionData{Name: "champion"}},
}),
data: &ChampionData{Name: "champion"},
want: ChampionDataExtended{ChampionData: ChampionData{Name: "champion"}},
},
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
client := NewClient(test.doer, api.RegionEuropeWest, log.StandardLogger())
got, err := test.data.GetExtended(client)
assert.Equal(t, test.wantErr, err != nil)
assert.Equal(t, test.want, got)
})
}
}
func TestRecommendedItem_GetItem(t *testing.T) {
type test struct {
name string
doer internal.Doer
data *RecommendedItem
want Item
wantErr bool
}
tests := []test{
{
name: "valid",
doer: dataDragonResponseDoer(map[string]Item{
"id": {},
}),
data: &RecommendedItem{ID: "id"},
want: Item{ID: "id"},
},
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
client := NewClient(test.doer, api.RegionKorea, log.StandardLogger())
got, err := test.data.GetItem(client)
assert.Equal(t, test.wantErr, err != nil)
assert.Equal(t, test.want, got)
})
}
}