예제 #1
0
        public void DirectMessageUser()
        {
            string  testMessage   = "testMessage";
            string  testFrom      = "test from";
            string  testUserId    = "12345";
            dynamic directMessage = new ExpandoObject();

            directMessage.sendDirectMessage = new Action <string, string>((userName, message) =>
            {
                this.isSent = true;
                Assert.AreEqual(testMessage, message, "the message was not supplied correctly");
                Assert.AreEqual(testFrom, userName, "the user name was not supplied correctly");
            });

            IRequest request     = base.BuildTestRequest().Object;
            var      mockClients = new Mock <IHubCallerConnectionContext <dynamic> >();

            mockClients.Setup(m => m.Client(testUserId)).Returns((ExpandoObject)directMessage);

            var mockHubCallerContext = new Mock <HubCallerContext>(request, "1");

            ChatHub hub = new ChatHub()
            {
                Context = mockHubCallerContext.Object,
                Clients = mockClients.Object,
                Groups  = mockGroupManager.Object
            };

            hub.DirectMessageUser(testUserId, testFrom, testMessage);
        }