public async Task DeleteMessageById_MessageIdExists_DeleteMessage()
        {
            // Arrange
            int messageId       = 1;
            int userId          = 1;
            int expectedId      = 1;
            var mockService     = new Mock <IMessageService <Message> >();
            var expectedMessage = new Message
            {
                Id                     = messageId,
                AuthorId               = 1,
                AuthorUserName         = "******",
                Body                   = "Test body",
                DateSent               = DateTime.UtcNow,
                IsArchivedForAuthor    = false,
                IsArchivedForRecipient = false,
                IsDeletedForAuthor     = false,
                IsDeletedForRecipient  = false,
                RecipientId            = 2,
                RecipientUserName      = "******",
            };

            mockService.Setup(service => service.DeleteMessage(messageId, userId)).ReturnsAsync(expectedMessage);
            var handler = new DeleteMessageHandler(mockService.Object);

            // Act
            var actualResult = await handler.Handle(new DeleteMessageCommand(messageId, userId), CancellationToken.None);

            // Assert
            Assert.IsType <Message>(actualResult);
            Assert.Equal(expectedId, actualResult.Id);
        }
Пример #2
0
        private void OnCallbackQuery(object sender, CallbackQueryEventArgs e)
        {
            ITelegramBotClient telegramBotClient = ModulesManager.GetTelegramBotClient();

            if (string.IsNullOrEmpty(e.CallbackQuery.Data))
            {
                return;
            }

            string[] queryArray = e.CallbackQuery.Data.Split(":");
            if (queryArray.Length == 0)
            {
                return;
            }

            ICallbackQueryHandler callbackQueryHandler;

            switch (queryArray[0])
            {
            case "delete_message":
                callbackQueryHandler = new DeleteMessageHandler();
                break;

            default:
                return;
            }

            callbackQueryHandler.Handle(queryArray, e.CallbackQuery.Message.MessageId);
            telegramBotClient.AnswerCallbackQueryAsync(e.CallbackQuery.Id);
        }