public void UndoCanvasSketchTest() { // Arrange. var hub = new WhiteboardHub(); var mockClients = new Mock <IHubCallerConnectionContext <dynamic> >(); var groups = new Mock <IClientContract>(); var groupManagerMock = new Mock <IGroupManager>(); var connectionId = Guid.NewGuid().ToString(); var groupsJoined = new List <string>(); groupManagerMock.Setup(g => g.Add(connectionId, It.IsAny <string>())) .Returns(Task.FromResult <object>(null)) .Callback <string, string>((cid, groupToJoin) => groupsJoined.Add(groupToJoin)); var name = "TestUser"; var groupName = "TestGroup"; MetaData linecordinates1 = new MetaData { Color = "black", CurrX = 10, CurrY = 20, DrawState = DrawState.down, Width = 20 }; MetaData linecordinates2 = new MetaData { Color = "black", CurrX = 10, CurrY = 20, DrawState = DrawState.move, Width = 20 }; var returnData = "[{\"drawState\":0,\"currX\":10,\"currY\":20,\"color\":\"white\",\"width\":21},{\"drawState\":0,\"currX\":10,\"currY\":20,\"color\":\"white\",\"width\":21}]"; hub.Clients = mockClients.Object; hub.Groups = groupManagerMock.Object; hub.Context = new HubCallerContext(request: null, connectionId: connectionId); groups.Setup(x => x.broadcastUndoCanvas(returnData)).Verifiable(); mockClients.Setup(_ => _.Group(groupName)).Returns(groups.Object); // Act. hub.JoinGroup(groupName); hub.PublishDraw(linecordinates1, name, groupName); hub.PublishDraw(linecordinates2, name, groupName); hub.UndoCanvasSketch(name, groupName); // Assert. groups.VerifyAll(); }
public void PublishDrawTest() { // Arrange. var hub = new WhiteboardHub(); var mockClients = new Mock <IHubCallerConnectionContext <dynamic> >(); var groups = new Mock <IClientContract>(); var name = "TestUser"; var groupName = "TestGroup"; MetaData linecordinates = new MetaData { Color = "black", CurrX = 10, CurrY = 20, DrawState = DrawState.move, Width = 20 }; var returnData = "{\"drawState\":0,\"currX\":10,\"currY\":20,\"color\":\"black\",\"width\":20}"; hub.Clients = mockClients.Object; groups.Setup(x => x.broadcastSketch(returnData)).Verifiable(); mockClients.Setup(_ => _.Group(groupName)).Returns(groups.Object); // Act. hub.PublishDraw(linecordinates, name, groupName); // Assert. groups.VerifyAll(); }