This commit is contained in:
@@ -161,6 +161,36 @@ func TestOutboundSkipsReplyWithoutRootLink(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestOutboundSkipsAlreadyLinkedPost(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
links := newMemoryLinks()
|
||||
api := &fakeAPI{}
|
||||
bot := New("channel-1", links, api)
|
||||
if err := links.Upsert(context.Background(), store.DiscordLink{
|
||||
PostID: "reply-1",
|
||||
MessageID: "d-reply-1",
|
||||
}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := links.Upsert(context.Background(), store.DiscordLink{
|
||||
PostID: "root-1",
|
||||
MessageID: "d-root",
|
||||
ThreadID: "thread-1",
|
||||
}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
bot.Handle(context.Background(), events.PostCreated{PostEvent: events.PostEvent{
|
||||
PostID: "reply-1",
|
||||
RootID: "root-1",
|
||||
ParentID: "root-1",
|
||||
Body: "Already on Discord.",
|
||||
}})
|
||||
if len(api.sends) != 0 {
|
||||
t.Fatalf("echoed already-linked reply: %+v", api.sends)
|
||||
}
|
||||
}
|
||||
|
||||
func TestOutboundUpdateWithoutLinkCreates(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
@@ -218,7 +248,7 @@ func TestFormatMessage(t *testing.T) {
|
||||
func TestFromEnvDisabled(t *testing.T) {
|
||||
t.Setenv("DISCORD_BOT_TOKEN", "")
|
||||
t.Setenv("DISCORD_CHANNEL_ID", "")
|
||||
bot, err := FromEnv(newMemoryLinks(), nil, nil, nil)
|
||||
bot, err := FromEnv(newMemoryLinks(), nil, nil)
|
||||
if err != nil || bot != nil {
|
||||
t.Fatalf("disabled FromEnv = (%v, %v)", bot, err)
|
||||
}
|
||||
@@ -227,12 +257,12 @@ func TestFromEnvDisabled(t *testing.T) {
|
||||
func TestFromEnvRequiresBoth(t *testing.T) {
|
||||
t.Setenv("DISCORD_BOT_TOKEN", "token")
|
||||
t.Setenv("DISCORD_CHANNEL_ID", "")
|
||||
if _, err := FromEnv(newMemoryLinks(), nil, nil, nil); err == nil {
|
||||
if _, err := FromEnv(newMemoryLinks(), nil, nil); err == nil {
|
||||
t.Fatal("expected error when channel is missing")
|
||||
}
|
||||
t.Setenv("DISCORD_BOT_TOKEN", "")
|
||||
t.Setenv("DISCORD_CHANNEL_ID", "channel")
|
||||
if _, err := FromEnv(newMemoryLinks(), nil, nil, nil); err == nil {
|
||||
if _, err := FromEnv(newMemoryLinks(), nil, nil); err == nil {
|
||||
t.Fatal("expected error when token is missing")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user