Exemple #1
0
        public async Task SelectMainTeamReceiverUnitTest(string text, string teamTag)
        {
            var message = new Message
            {
                From    = UnitTestBuilder.GetUserNode(),
                To      = UnitTestBuilder.GetBotNode(),
                Content = PlainText.Parse(text + teamTag)
            };
            var context = new UserContext
            {
                MainTeam = ""
            };

            bool success = false;

            try
            {
                success = await flowService.SendSelectMainTeamFlowAsync(message, context, CancellationToken.None);

                context = await contextManager.GetUserContextAsync(message.From, CancellationToken.None);
            }
            catch (Exception ex)
            {
                ex.ShouldBeNull();
            }
            finally
            {
                success.ShouldBeTrue();
                context.MainTeam.ShouldBe(teamTag);
            }
        }
Exemple #2
0
        public async Task ReceiveAsync(Message message, CancellationToken cancellationToken = default(CancellationToken))
        {
            try
            {
                var userContext = await _contextManager.GetUserContextAsync(message.From, cancellationToken);

                var contact = await GetContact(message, cancellationToken);

                if (message.Content.ToString().Trim().Contains("#DEVACTION#"))
                {
                    await _devActionHandler.HandleAsync(message, cancellationToken);
                }
                else
                {
                    if (message.Content.ToString().Trim().Contains("Main Menu"))
                    {
                        message.Content = PlainText.Parse("#MainMenu_");
                    }
                    await _sender.SendDelayedComposingAsync(message.From, 2000, cancellationToken);
                    await ReceiveMessageAsync(message, contact, userContext, cancellationToken);
                }
            }
            catch (Exception ex)
            {
                await _sender.SendMessageAsync("Oops, something went wrong...", message.From, cancellationToken);
            }
        }
        public async Task GetUserContextAsync()
        {
            var context = await _contextManager.GetUserContextAsync(node, cancellationToken);

            context.FirstInteraction.ShouldNotBeNull();
            context.TeamDivision.ShouldNotBeNull();
            context.MainTeam.ShouldNotBeNull();
        }