Exemple #1
0
        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();
        }
Exemple #2
0
        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();
        }