1
0
mirror of synced 2024-11-25 14:26:09 +03:00

Add tests for (*Messenger).classify

This commit is contained in:
Samuel El-Borai 2018-03-11 20:48:59 +01:00
parent d923abfc97
commit 01488228f2

62
messenger_test.go Normal file
View File

@ -0,0 +1,62 @@
package messenger
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestMessenger_Classify(t *testing.T) {
m := New(Options{})
for name, test := range map[string]struct {
msgInfo MessageInfo
expected Action
}{
"unknown": {
msgInfo: MessageInfo{},
expected: UnknownAction,
},
"message": {
msgInfo: MessageInfo{
Message: &Message{},
},
expected: TextAction,
},
"delivery": {
msgInfo: MessageInfo{
Delivery: &Delivery{},
},
expected: DeliveryAction,
},
"read": {
msgInfo: MessageInfo{
Read: &Read{},
},
expected: ReadAction,
},
"postback": {
msgInfo: MessageInfo{
PostBack: &PostBack{},
},
expected: PostBackAction,
},
"optin": {
msgInfo: MessageInfo{
OptIn: &OptIn{},
},
expected: OptInAction,
},
"referral": {
msgInfo: MessageInfo{
ReferralMessage: &ReferralMessage{},
},
expected: ReferralAction,
},
} {
t.Run("action "+name, func(t *testing.T) {
action := m.classify(test.msgInfo, Entry{})
assert.Exactly(t, action, test.expected)
})
}
}