From 725abdf1e23764419b2708ed79a961807c54abd1 Mon Sep 17 00:00:00 2001 From: Harshit Verma Date: Sat, 28 Mar 2020 12:29:06 +0530 Subject: [PATCH 1/2] feat(senders/telegram/handle_message.go): inform about already registered group --- senders/telegram/handle_message.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/senders/telegram/handle_message.go b/senders/telegram/handle_message.go index dc2812577..7bd05a64e 100644 --- a/senders/telegram/handle_message.go +++ b/senders/telegram/handle_message.go @@ -34,14 +34,15 @@ 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 } - return "", nil + return fmt.Sprintf("Hi, all!\nGroup with name (%s) is already registered.", message.Chat.Title), nil + } return "I don't understand you :(", nil } From bc11dec9a484ad3652a1dfa48d788b855b472ad7 Mon Sep 17 00:00:00 2001 From: Harshit Verma Date: Sat, 28 Mar 2020 12:30:44 +0530 Subject: [PATCH 2/2] refactor(senders/telegram/handle_message_test.go): removed error test when uuid is returned --- senders/telegram/handle_message.go | 6 ++++-- senders/telegram/handle_message_test.go | 13 +++---------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/senders/telegram/handle_message.go b/senders/telegram/handle_message.go index 7bd05a64e..6bd4fdf7b 100644 --- a/senders/telegram/handle_message.go +++ b/senders/telegram/handle_message.go @@ -41,8 +41,10 @@ func (sender *Sender) getResponseMessage(message *telebot.Message) (string, erro } return fmt.Sprintf("Hi, all!\nI will send alerts in this group (%s).", message.Chat.Title), nil } - return fmt.Sprintf("Hi, all!\nGroup with name (%s) is already registered.", 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)) }) }) })