github.com/diamondburned/arikawa/v2@v2.1.0/api/integration_test.go (about)

     1  package api
     2  
     3  import (
     4  	"fmt"
     5  	"log"
     6  	"testing"
     7  	"time"
     8  
     9  	"github.com/diamondburned/arikawa/v2/discord"
    10  	"github.com/diamondburned/arikawa/v2/internal/testenv"
    11  )
    12  
    13  func TestIntegration(t *testing.T) {
    14  	cfg := testenv.Must(t)
    15  
    16  	client := NewClient("Bot " + cfg.BotToken)
    17  
    18  	// Simple GET request
    19  	u, err := client.Me()
    20  	if err != nil {
    21  		t.Fatal("Can't get self:", err)
    22  	}
    23  
    24  	log.Println("API user:", u.Username)
    25  
    26  	// POST with URL param and paginator
    27  	_, err = client.Guilds(100)
    28  	if err != nil {
    29  		t.Fatal("Can't get guilds:", err)
    30  	}
    31  }
    32  
    33  var emojisToSend = [...]discord.APIEmoji{
    34  	"πŸ₯Ί",
    35  	"❀",
    36  	"πŸ˜‚",
    37  	"πŸ₯°",
    38  	"😊",
    39  	"πŸ”₯",
    40  	"βœ”",
    41  	"πŸ‘",
    42  	"😍",
    43  	"🐻",
    44  	"🀯",
    45  	"πŸ”£",
    46  	"πŸ”",
    47  	"🎌",
    48  	"πŸ‡―πŸ‡΅",
    49  	"πŸŽ₯",
    50  	"πŸ‡ΊπŸ‡Έ",
    51  	"🌎",
    52  }
    53  
    54  func TestReactions(t *testing.T) {
    55  	cfg := testenv.Must(t)
    56  
    57  	client := NewClient("Bot " + cfg.BotToken)
    58  
    59  	msg := fmt.Sprintf("This is a message sent at %v.", time.Now())
    60  
    61  	// Send a new message.
    62  	m, err := client.SendMessage(cfg.ChannelID, msg, nil)
    63  	if err != nil {
    64  		t.Fatal("Failed to send message:", err)
    65  	}
    66  
    67  	now := time.Now()
    68  
    69  	for _, emojiString := range emojisToSend {
    70  		if err := client.React(cfg.ChannelID, m.ID, emojiString); err != nil {
    71  			t.Fatal("Failed to send emoji "+emojiString+":", err)
    72  		}
    73  	}
    74  
    75  	msg += fmt.Sprintf(" Total time taken to send all reactions: %v.", time.Now().Sub(now))
    76  
    77  	m, err = client.EditMessage(cfg.ChannelID, m.ID, msg, nil, false)
    78  	if err != nil {
    79  		t.Fatal("Failed to edit message:", err)
    80  	}
    81  }