diff --git a/senders/telegram/handle_message.go b/senders/telegram/handle_message.go index dc2812577..6bd4fdf7b 100644 --- a/senders/telegram/handle_message.go +++ b/senders/telegram/handle_message.go @@ -34,13 +34,16 @@ func (sender *Sender) getResponseMessage(message *telebot.Message) (string, erro return fmt.Sprintf("Okay, %s, your id is %s", strings.Trim(fmt.Sprintf("%s %s", message.Sender.FirstName, message.Sender.LastName), " "), chatID), nil case message.Chat.Type == telebot.ChatSuperGroup || message.Chat.Type == telebot.ChatGroup: uuid, _ := sender.DataBase.GetIDByUsername(messenger, message.Chat.Title) - err := sender.DataBase.SetUsernameID(messenger, message.Chat.Title, chatID) - if err != nil { - return "", err - } if uuid == "" { + err := sender.DataBase.SetUsernameID(messenger, message.Chat.Title, chatID) + if err != nil { + return "", err + } return fmt.Sprintf("Hi, all!\nI will send alerts in this group (%s).", message.Chat.Title), nil } + if message.Text == "/start" { + return fmt.Sprintf("Hi, all!\nGroup with name (%s) is already registered.", message.Chat.Title), nil + } return "", nil } return "I don't understand you :(", nil diff --git a/senders/telegram/handle_message_test.go b/senders/telegram/handle_message_test.go index 67955189c..4350787af 100644 --- a/senders/telegram/handle_message_test.go +++ b/senders/telegram/handle_message_test.go @@ -84,6 +84,7 @@ func TestGetResponseMessage(t *testing.T) { Type: telebot.ChatSuperGroup, Title: "MyGroup", }, + Text: "/start", } Convey("GetIDByUsername returns error", func() { @@ -115,18 +116,10 @@ func TestGetResponseMessage(t *testing.T) { Convey("GetIDByUsername return uuid", func() { dataBase.EXPECT().GetIDByUsername(messenger, message.Chat.Title).Return("123", nil) - Convey("SetUsernameID returns error", func() { - dataBase.EXPECT().SetUsernameID(messenger, message.Chat.Title, "123").Return(fmt.Errorf("error")) - response, err := sender.getResponseMessage(message) - So(err, ShouldResemble, fmt.Errorf("error")) - So(response, ShouldBeEmpty) - }) - - Convey("SetUsernameID returns empty error", func() { - dataBase.EXPECT().SetUsernameID(messenger, message.Chat.Title, "123").Return(nil) + Convey("Group name already exists", func() { response, err := sender.getResponseMessage(message) So(err, ShouldBeNil) - So(response, ShouldBeEmpty) + So(response, ShouldResemble, fmt.Sprintf("Hi, all!\nGroup with name (%s) is already registered.", message.Chat.Title)) }) }) })