Repository: nicklaw5/helix
Pull request #71 (2020-12-03 10:57:32)

Adding support for Get Cheermotes endpoint


Patch:
diff --git a/README.md b/README.md
index 22f2f42..1b5003b 100644
--- a/README.md
+++ b/README.md
@@ -30,7 +30,7 @@ looking for the Twitch API docs, see the [Twitch Developer website](https://dev.
 
 - [x] Start Commercial
 - [x] Get Extension Analytics
-- [ ] Get Cheermotes
+- [x] Get Cheermotes
 - [x] Get Game Analytics
 - [x] Get Bits Leaderboard
 - [ ] Get Extension Transactions
diff --git a/bits.go b/bits.go
index a00cfdf..1b4c1b5 100644
--- a/bits.go
+++ b/bits.go
@@ -49,3 +49,65 @@ func (c *Client) GetBitsLeaderboard(params *BitsLeaderboardParams) (*BitsLeaderb
 
 	return bits, nil
 }
+
+type CheermotesParams struct {
+	BroadcasterID string `query:"broadcaster_id"` // optional
+}
+
+type TierImages struct {
+	Image1   string `json:"1"`
+	Image1_5 string `json:"1.5"`
+	Image2   string `json:"2"`
+	Image3   string `json:"3"`
+	Image4   string `json:"4"`
+}
+
+type TierImageTypes struct {
+	Animated TierImages `json:"animated"`
+	Static   TierImages `json:"static"`
+}
+
+type CheermoteTierImages struct {
+	Dark  TierImageTypes `json:"dark"`
+	Light TierImageTypes `json:"light"`
+}
+
+type CheermoteTiers struct {
+	MinBits        uint                `json:"min_bits"`
+	ID             string              `json:"id"`
+	Color          string              `json:"color"`
+	Images         CheermoteTierImages `json:"images"`
+	CanCheer       bool                `json:"can_cheer"`
+	ShowInBitsCard bool                `json:"show_in_bits_card"`
+}
+
+type Cheermotes struct {
+	Prefix       string           `json:"prefix"`
+	Tiers        []CheermoteTiers `json:"tiers"`
+	Type         string           `json:"type"` // global_first_party, global_third_party, channel_custom, display_only, sponsored
+	Order        uint             `json:"order"`
+	LastUpdated  Time             `json:"last_updated"`
+	IsCharitable bool             `json:"is_charitable"`
+}
+
+type ManyCheermotes struct {
+	Cheermotes []Cheermotes `json:"data"`
+}
+
+type CheermotesResponse struct {
+	ResponseCommon
+	Data ManyCheermotes
+}
+
+func (c *Client) GetCheermotes(params *CheermotesParams) (*CheermotesResponse, error) {
+	resp, err := c.get("/bits/cheermotes", &ManyCheermotes{}, params)
+	if err != nil {
+		return nil, err
+	}
+
+	cheermoteResp := &CheermotesResponse{}
+	resp.HydrateResponseCommon(&cheermoteResp.ResponseCommon)
+	cheermoteResp.Data.Cheermotes = resp.Data.(*ManyCheermotes).Cheermotes
+
+	return cheermoteResp, nil
+}


Test patch:
diff --git a/bits_test.go b/bits_test.go
index 1f50b0e..7bbde5b 100644
--- a/bits_test.go
+++ b/bits_test.go
@@ -6,7 +6,7 @@ import (
 	"time"
 )
 
-func TestGetBitsLeaderboard(t *testing.T) {
+func TestClient_GetBitsLeaderboard(t *testing.T) {
 	t.Parallel()
 
 	testCases := []struct {
@@ -106,3 +106,497 @@ func TestGetBitsLeaderboard(t *testing.T) {
 
 	}
 }
+
+func TestClient_GetCheermotes(t *testing.T) {
+	t.Parallel()
+
+	testCases := []struct {
+		statusCode        int
+		options           *Options
+		count             int
+		broadcasterID     string
+		initialPrefix     string
+		initialOrder      uint
+		initialTiersCount int
+		respBody          string
+	}{
+		{
+			http.StatusOK,
+			&Options{ClientID: "my-client-id"},
+			2,
+			"",
+			"Cheer",
+			1,
+			5,
+			`{
+  "data": [
+    {
+      "prefix": "Cheer",
+      "tiers": [
+        {
+          "min_bits": 1,
+          "id": "1",
+          "color": "#979797",
+          "images": {
+            "dark": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/1/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/1/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/1/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/1/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/1/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/1/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/1/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/1/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/1/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/1/4.png"
+              }
+            },
+            "light": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/1/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/1/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/1/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/1/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/1/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/1/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/1/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/1/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/1/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/1/4.png"
+              }
+            }
+          },
+          "can_cheer": true,
+          "show_in_bits_card": true
+        },
+        {
+          "min_bits": 100,
+          "id": "100",
+          "color": "#9c3ee8",
+          "images": {
+            "dark": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/100/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/100/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/100/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/100/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/100/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/100/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/100/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/100/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/100/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/100/4.png"
+              }
+            },
+            "light": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/100/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/100/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/100/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/100/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/100/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/100/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/100/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/100/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/100/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/100/4.png"
+              }
+            }
+          },
+          "can_cheer": true,
+          "show_in_bits_card": true
+        },
+        {
+          "min_bits": 1000,
+          "id": "1000",
+          "color": "#1db2a5",
+          "images": {
+            "dark": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/1000/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/1000/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/1000/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/1000/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/1000/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/1000/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/1000/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/1000/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/1000/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/1000/4.png"
+              }
+            },
+            "light": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/1000/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/1000/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/1000/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/1000/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/1000/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/1000/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/1000/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/1000/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/1000/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/1000/4.png"
+              }
+            }
+          },
+          "can_cheer": true,
+          "show_in_bits_card": true
+        },
+        {
+          "min_bits": 5000,
+          "id": "5000",
+          "color": "#0099fe",
+          "images": {
+            "dark": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/5000/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/5000/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/5000/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/5000/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/5000/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/5000/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/5000/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/5000/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/5000/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/5000/4.png"
+              }
+            },
+            "light": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/5000/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/5000/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/5000/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/5000/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/5000/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/5000/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/5000/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/5000/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/5000/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/5000/4.png"
+              }
+            }
+          },
+          "can_cheer": true,
+          "show_in_bits_card": true
+        },
+        {
+          "min_bits": 10000,
+          "id": "10000",
+          "color": "#f43021",
+          "images": {
+            "dark": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/10000/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/10000/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/10000/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/10000/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/animated/10000/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/10000/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/10000/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/10000/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/10000/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/dark/static/10000/4.png"
+              }
+            },
+            "light": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/10000/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/10000/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/10000/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/10000/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/animated/10000/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/10000/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/10000/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/10000/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/10000/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/cheer/light/static/10000/4.png"
+              }
+            }
+          },
+          "can_cheer": true,
+          "show_in_bits_card": true
+        }
+      ],
+      "type": "global_first_party",
+      "order": 1,
+      "last_updated": "2018-05-22T00:06:04Z",
+      "is_charitable": false
+    },
+    {
+      "prefix": "DoodleCheer",
+      "tiers": [
+        {
+          "min_bits": 1,
+          "id": "1",
+          "color": "#979797",
+          "images": {
+            "dark": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/1/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/1/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/1/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/1/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/1/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/1/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/1/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/1/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/1/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/1/4.png"
+              }
+            },
+            "light": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/1/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/1/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/1/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/1/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/1/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/1/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/1/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/1/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/1/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/1/4.png"
+              }
+            }
+          },
+          "can_cheer": true,
+          "show_in_bits_card": false
+        },
+        {
+          "min_bits": 100,
+          "id": "100",
+          "color": "#9c3ee8",
+          "images": {
+            "dark": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/100/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/100/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/100/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/100/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/100/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/100/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/100/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/100/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/100/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/100/4.png"
+              }
+            },
+            "light": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/100/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/100/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/100/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/100/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/100/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/100/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/100/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/100/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/100/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/100/4.png"
+              }
+            }
+          },
+          "can_cheer": true,
+          "show_in_bits_card": false
+        },
+        {
+          "min_bits": 1000,
+          "id": "1000",
+          "color": "#1db2a5",
+          "images": {
+            "dark": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/1000/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/1000/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/1000/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/1000/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/1000/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/1000/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/1000/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/1000/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/1000/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/1000/4.png"
+              }
+            },
+            "light": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/1000/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/1000/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/1000/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/1000/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/1000/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/1000/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/1000/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/1000/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/1000/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/1000/4.png"
+              }
+            }
+          },
+          "can_cheer": true,
+          "show_in_bits_card": false
+        },
+        {
+          "min_bits": 5000,
+          "id": "5000",
+          "color": "#0099fe",
+          "images": {
+            "dark": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/5000/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/5000/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/5000/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/5000/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/5000/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/5000/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/5000/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/5000/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/5000/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/5000/4.png"
+              }
+            },
+            "light": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/5000/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/5000/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/5000/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/5000/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/5000/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/5000/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/5000/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/5000/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/5000/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/5000/4.png"
+              }
+            }
+          },
+          "can_cheer": true,
+          "show_in_bits_card": false
+        },
+        {
+          "min_bits": 10000,
+          "id": "10000",
+          "color": "#f43021",
+          "images": {
+            "dark": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/10000/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/10000/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/10000/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/10000/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/animated/10000/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/10000/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/10000/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/10000/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/10000/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/dark/static/10000/4.png"
+              }
+            },
+            "light": {
+              "animated": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/10000/1.gif",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/10000/1.5.gif",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/10000/2.gif",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/10000/3.gif",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/animated/10000/4.gif"
+              },
+              "static": {
+                "1": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/10000/1.png",
+                "1.5": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/10000/1.5.png",
+                "2": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/10000/2.png",
+                "3": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/10000/3.png",
+                "4": "https://d3aqoihi2n8ty8.cloudfront.net/actions/doodlecheer/light/static/10000/4.png"
+              }
+            }
+          },
+          "can_cheer": true,
+          "show_in_bits_card": false
+        }
+      ],
+      "type": "global_third_party",
+      "order": 1,
+      "last_updated": "2018-05-22T00:06:05Z",
+      "is_charitable": false
+    }
+  ]
+}`,
+		},
+	}
+
+	for _, testCase := range testCases {
+		c := newMockClient(testCase.options, newMockHandler(testCase.statusCode, testCase.respBody, nil))
+
+		params := &CheermotesParams{
+			BroadcasterID: testCase.broadcasterID,
+		}
+
+		resp, err := c.GetCheermotes(params)
+		if err != nil {
+			t.Error(err)
+		}
+
+		if resp.StatusCode != testCase.statusCode {
+			t.Errorf("expected status code to be \"%d\", got \"%d\"", testCase.statusCode, resp.StatusCode)
+		}
+
+		// TODO: Test error cases
+
+		// Test success cases
+		if len(resp.Data.Cheermotes) != testCase.count {
+			t.Errorf("expected number of results to be \"%d\", got \"%d\"", testCase.count, len(resp.Data.Cheermotes))
+		}
+
+		cheermotes := resp.Data.Cheermotes[0]
+		if cheermotes.Prefix != testCase.initialPrefix {
+			t.Errorf("expected prefix of \"%s\", got \"%s\"", testCase.initialPrefix, cheermotes.Prefix)
+		}
+
+		if cheermotes.Order != testCase.initialOrder {
+			t.Errorf("expected order of \"%d\", got \"%d\"", testCase.initialOrder, cheermotes.Order)
+		}
+
+		if len(cheermotes.Tiers) != testCase.initialTiersCount {
+			t.Errorf("expected tier count of \"%d\", got \"%d\"", testCase.initialTiersCount, len(cheermotes.Tiers))
+		}
+	}
+}