Esempio n. 1
0
        public async Task AcceptModifiedCommandFromDynamicPrefixAsync()
        {
            var trigger     = new DynamicPrefixTrigger("test.");
            var mockContext = new Mock <IContext>();

            mockContext.Setup(x => x.GetService(
                                  It.Is <Type>(y => y.IsAssignableFrom(typeof(DbContext)))))
            .Returns(NewDbContext());
            mockContext.Setup(x => x.GetService(
                                  It.Is <Type>(y => y.IsAssignableFrom(typeof(ICacheClient)))))
            .Returns(new InMemoryCacheClient(new ProtobufSerializer()));

            var mockMessage = new Mock <ITestDiscordMessage>();

            mockMessage.Setup(x => x.Id).Returns(1L);
            mockContext.Setup(x => x.GetContext(
                                  It.Is <string>(y => y == CorePipelineStage.MessageContextKey)))
            .Returns(mockMessage.Object);
            mockContext.Setup(x => x.GetContext(
                                  It.Is <string>(y => y == CorePipelineStage.QueryContextKey)))
            .Returns("test.command");

            var result = await trigger.CheckTriggerAsync(mockContext.Object)
                         .ConfigureAwait(false);

            Assert.Equal("test.", result);
        }
Esempio n. 2
0
        public async Task AcceptDefaultCommandFromDynamicPrefixAsync()
        {
            var trigger     = new DynamicPrefixTrigger("test.");
            var mockContext = new TestContextObject();

            mockContext.SetService(typeof(DbContext), NewDbContext());
            mockContext.SetService(
                typeof(ICacheClient), new InMemoryCacheClient(new ProtobufSerializer()));

            var mockMessage = new Mock <ITestDiscordMessage>();

            mockMessage.Setup(x => x.Id).Returns(0L);
            mockContext.SetContext(CorePipelineStage.MessageContextKey, mockMessage.Object);
            mockContext.SetContext(CorePipelineStage.QueryContextKey, "test.command");

            var result = await trigger.CheckTriggerAsync(mockContext)
                         .ConfigureAwait(false);

            Assert.Equal("test.", result);
        }