Skip to content

Commit 5dd5d07

Browse files
authored
Merge pull request #256 from twitchdev/bugfix/minor-fixes
few bugfixes
2 parents 69cbc13 + 2480f7d commit 5dd5d07

File tree

5 files changed

+41
-4
lines changed

5 files changed

+41
-4
lines changed

internal/events/event.go

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ type MockEventParameters struct {
1414
ToUserName string
1515
IsAnonymous bool
1616
IsGift bool
17+
GiftUser string
1718
EventStatus string
1819
SubscriptionStatus string
1920
ItemID string

internal/events/trigger/trigger_event.go

+1
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ https://dev.twitch.tv/docs/eventsub/handling-webhook-events#processing-an-event`
134134
CharityCurrentValue: p.CharityCurrentValue,
135135
CharityTargetValue: p.CharityTargetValue,
136136
ClientID: p.ClientID,
137+
GiftUser: p.GiftUser,
137138
}
138139

139140
e, err := types.GetByTriggerAndTransportAndVersion(p.Event, p.Transport, p.Version)

internal/events/types/subscribe/sub_event.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,14 @@ func (e Event) GenerateEvent(params events.MockEventParameters) (events.MockEven
4242
params.IsGift = true
4343
}
4444

45+
if params.GiftUser != "" {
46+
params.FromUserID = params.GiftUser
47+
params.IsGift = true // make doubly sure it's set to to in cases of "twitch event trigger channel.subscribe -g 1"
48+
}
49+
4550
switch params.Transport {
4651
case models.TransportWebhook, models.TransportWebSocket:
47-
body := *&models.EventsubResponse{
52+
body := &models.EventsubResponse{
4853
Subscription: models.EventsubSubscription{
4954
ID: params.ID,
5055
Status: params.SubscriptionStatus,

internal/events/types/subscribe/sub_event_test.go

+27-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ var tierTwo = "2000"
1818
func TestEventSub(t *testing.T) {
1919
a := test_setup.SetupTestEnv(t)
2020

21-
params := *&events.MockEventParameters{
21+
params := events.MockEventParameters{
2222
FromUserID: fromUser,
2323
ToUserID: toUser,
2424
Transport: models.TransportWebhook,
@@ -39,10 +39,35 @@ func TestEventSub(t *testing.T) {
3939
a.Equal(tierTwo, body.Event.Tier, "Expected tier %v, got %v", tierTwo, body.Event.Tier)
4040
}
4141

42+
func TestGiftLogic(t *testing.T) {
43+
a := test_setup.SetupTestEnv(t)
44+
45+
params := events.MockEventParameters{
46+
ToUserID: toUser,
47+
Transport: models.TransportWebhook,
48+
SubscriptionStatus: "enabled",
49+
Trigger: "channel.subscribe",
50+
Tier: tierTwo,
51+
GiftUser: "1",
52+
}
53+
54+
r, err := Event{}.GenerateEvent(params)
55+
a.Nil(err)
56+
57+
var body models.SubEventSubResponse
58+
err = json.Unmarshal(r.JSON, &body)
59+
a.Nil(err)
60+
61+
a.Equal(toUser, body.Event.BroadcasterUserID, "Expected to user %v, got %v", toUser, body.Event.BroadcasterUserID)
62+
a.Equal(tierTwo, body.Event.Tier, "Expected tier %v, got %v", tierTwo, body.Event.Tier)
63+
a.Equal("1", body.Event.UserID, "Expected user ID %v, got %v", "1", body.Event.UserID)
64+
a.Equal(true, body.Event.IsGift, "Expected is_gift to be true")
65+
}
66+
4267
func TestFakeTransport(t *testing.T) {
4368
a := test_setup.SetupTestEnv(t)
4469

45-
params := *&events.MockEventParameters{
70+
params := events.MockEventParameters{
4671
FromUserID: fromUser,
4772
ToUserID: toUser,
4873
Transport: "fake_transport",

internal/mock_api/endpoints/drops/entitlements.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ func getEntitlements(w http.ResponseWriter, r *http.Request) {
9797
Cursor: dbr.Cursor,
9898
}
9999
}
100+
100101
bytes, err := json.Marshal(apiResponse)
101102
w.Write(bytes)
102103
}
@@ -170,6 +171,10 @@ func patchEntitlements(w http.ResponseWriter, r *http.Request) {
170171
}
171172
}
172173

173-
bytes, _ := json.Marshal(resp)
174+
apiResponse := models.APIResponse{
175+
Data: resp,
176+
}
177+
178+
bytes, _ := json.Marshal(apiResponse)
174179
w.Write(bytes)
175180
}

0 commit comments

Comments
 (0)