コード例 #1
0
        public async Task ProcessMessage_Start()
        {
            var service = new BotCommandParserService(null, null, null);

            var result = await service.ParseCommand("/start SomeChatKey", 0);

            Assert.IsType <StartCommand>(result);
            Assert.Equal("SomeChatKey", ((StartCommand)result).UserChatKey);
        }
コード例 #2
0
        public async Task ParseCommand_CreateTask()
        {
            var task           = new TaskDto();
            var telegramMock   = new Mock <ITelegramService>();
            var taskParserMock = new Mock <ITaskServiceApp>();

            taskParserMock.Setup(x => x.ParseTask("Some task")).Returns(Task.FromResult(task));
            var service = new BotCommandParserService(telegramMock.Object, null, taskParserMock.Object);

            var result = await service.ParseCommand("Some task", 100500);

            Assert.IsType <CreateTaskCommand>(result);
            Assert.Same(task, ((CreateTaskCommand)result).Task);
        }
コード例 #3
0
        public async Task ProcessMessage_ShowTodo()
        {
            var dateServiceMock = new Mock <IDateService>();

            dateServiceMock.SetupGet(x => x.Now).Returns(new DateTime(2010, 10, 10));
            var telegramMock = new Mock <ITelegramService>();

            telegramMock.Setup(x => x.GetUserTimeAdjustment(100500)).Returns(Task.FromResult(100));
            var service = new BotCommandParserService(telegramMock.Object, dateServiceMock.Object, null);

            var result = await service.ParseCommand("/todo", 100500);

            Assert.IsType <ShowTodoCommand>(result);
            Assert.Equal(new DateTime(2010, 10, 10), ((ShowTodoCommand)result).From);
            Assert.Equal(new DateTime(2010, 10, 11), ((ShowTodoCommand)result).To);
        }