Exemple #1
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();
        }
Exemple #2
0
        public void JoinGroupTest()
        {
            // Arrange
            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 groupName = "TestGroup";

            var hub = new WhiteboardHub();

            hub.Groups  = groupManagerMock.Object;
            hub.Context = new HubCallerContext(request: null,
                                               connectionId: connectionId);

            // Act
            hub.JoinGroup(groupName);

            // Assert
            groupManagerMock.VerifyAll();
            Assert.AreEqual(1, groupsJoined.Count);
        }
Exemple #3
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 #4
0
        public void JoinChatTest()
        {
            // Arrange.
            var hub         = new WhiteboardHub();
            var mockClients = new Mock <IHubCallerConnectionContext <dynamic> >();
            var groups      = new Mock <IClientContract>();
            var name        = "TestUser";
            var groupName   = "TestGroup";

            hub.Clients = mockClients.Object;
            groups.Setup(_ => _.chatJoined(name)).Verifiable();
            mockClients.Setup(_ => _.Group(groupName)).Returns(groups.Object);

            // Act.
            hub.JoinChat(name, groupName);

            // Assert.
            groups.VerifyAll();
        }
Exemple #5
0
        public void ClearCanvasTest()
        {
            // Arrange.
            var hub         = new WhiteboardHub();
            var mockClients = new Mock <IHubCallerConnectionContext <dynamic> >();
            var groups      = new Mock <IClientContract>();
            var name        = "TestUser";
            var groupName   = "TestGroup";

            hub.Clients = mockClients.Object;
            groups.Setup(x => x.clearCanvas()).Verifiable();
            mockClients.Setup(y => y.Group(groupName)).Returns(groups.Object);

            // Act.
            hub.ClearCanvas(name, groupName);

            // Assert.
            groups.VerifyAll();
        }
Exemple #6
0
        public void PublishChatMessageTest()
        {
            // Arrange.
            var hub         = new WhiteboardHub();
            var mockClients = new Mock <IHubCallerConnectionContext <dynamic> >();
            var groups      = new Mock <IClientContract>();
            var name        = "TestUser";
            var message     = "Hi I m Test User";
            var groupName   = "TestGroup";

            hub.Clients = mockClients.Object;
            groups.Setup(x => x.broadcastChatMessage(name, message)).Verifiable();
            mockClients.Setup(_ => _.Group(groupName)).Returns(groups.Object);

            // Act.
            hub.PublishChatMesssage(message, name, groupName);

            // Assert.
            groups.VerifyAll();
        }