-
Notifications
You must be signed in to change notification settings - Fork 43
Expand file tree
/
Copy pathtooltip_test.go
More file actions
92 lines (86 loc) · 3.2 KB
/
tooltip_test.go
File metadata and controls
92 lines (86 loc) · 3.2 KB
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package main
import (
"testing"
"time"
tb "gopkg.in/tucnak/telebot.v2"
)
var (
tipper1 = &tb.User{Username: "username1", FirstName: "firstname1", ID: 1}
tipper2 = &tb.User{Username: "username2", FirstName: "firstname2", ID: 2}
tipper3 = &tb.User{Username: "username3", FirstName: "firstname3", ID: 3}
tipper4 = &tb.User{Username: "username4", FirstName: "firstname4", ID: 4}
tipper5 = &tb.User{Username: "username5", FirstName: "firstname5", ID: 5}
tipper6 = &tb.User{Username: "username6", FirstName: "firstname6", ID: 6}
)
func Test_getTippersString(t *testing.T) {
type args struct {
tippers []*tb.User
}
var tippers = make([]*tb.User, 0)
tests := []struct {
name string
args args
want string
}{
{name: "1", args: args{tippers: append(tippers, tipper1)}, want: "@username1"},
{name: "2", args: args{tippers: append(tippers, tipper1, tipper2)}, want: "@username1, @username2"},
{name: "3", args: args{tippers: append(tippers, tipper1, tipper2, tipper3)}, want: "@username1, @username2, @username3"},
{name: "4", args: args{tippers: append(tippers, tipper1, tipper2, tipper3, tipper4)}, want: "@username1, @username2, @username3, @username4"},
{name: "5", args: args{tippers: append(tippers, tipper1, tipper2, tipper3, tipper4, tipper5)}, want: "@username1, @username2, @username3, @username4, @username5"},
{name: "6", args: args{tippers: append(tippers, tipper1, tipper2, tipper3, tipper4, tipper5, tipper6)}, want: "@username1, @username2, @username3, @username4, @username5, ... and others"},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := getTippersString(tt.args.tippers); got != tt.want {
t.Errorf("getTippersString() = %v, want %v", got, tt.want)
}
})
}
}
func TestMessage_getTooltipMessage(t *testing.T) {
type fields struct {
Message Message
TipAmount int
Ntips int
LastTip time.Time
Tippers []*tb.User
}
type args struct {
botUserName string
notInitializedWallet bool
}
var tippers = make([]*tb.User, 0)
tests := []struct {
name string
fields fields
args args
want string
}{
{
name: "1",
args: args{botUserName: "@test-bot", notInitializedWallet: true},
fields: fields{Message: Message{}, TipAmount: 10, Ntips: 1, Tippers: append(tippers, tipper1)},
want: "🏅 10 sat (by @username1)\n🗑 Chat with @test-bot to manage your wallet.",
},
{
name: "2",
args: args{botUserName: "@test-bot", notInitializedWallet: true},
fields: fields{Message: Message{}, TipAmount: 100, Ntips: 6, Tippers: append(tippers, tipper1, tipper2, tipper3, tipper4, tipper5, tipper6)},
want: "🏅 100 sat (6 tips by @username1, @username2, @username3, @username4, @username5, ... and others)\n🗑 Chat with @test-bot to manage your wallet.",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
x := TipTooltip{
Message: tt.fields.Message,
TipAmount: tt.fields.TipAmount,
Ntips: tt.fields.Ntips,
LastTip: tt.fields.LastTip,
Tippers: tt.fields.Tippers,
}
if got := x.getUpdatedTipTooltipMessage(tt.args.botUserName, tt.args.notInitializedWallet); got != tt.want {
t.Errorf("getUpdatedTipTooltipMessage() = %v, want %v", got, tt.want)
}
})
}
}