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); }