Пример #1
0
        public void CallChatWith_WhenUserExists()
        {
            // Arrange
            var mockedService = new Mock <IUsersService>();
            var chatHub       = new ChatHub(mockedService.Object);

            mockedService.Setup(x => x.CheckIfUserExists(It.IsAny <string>())).Returns(true);

            var mockedGroups = new Mock <IGroupManager>();

            chatHub.Groups = mockedGroups.Object;

            var mockedUserIdentity = new Mock <IIdentity>();
            var mockedContext      = new Mock <HubCallerContext>();

            mockedContext.Setup(x => x.User.Identity).Returns(mockedUserIdentity.Object);

            chatHub.Context = mockedContext.Object;

            var mockedClients = new Mock <IHubCallerConnectionContext <dynamic> >();
            var mockedCaller  = new Mock <IClient>();

            mockedCaller.Setup(x => x.ChatWith(It.IsAny <string>())).Verifiable();
            mockedClients.Setup(x => x.Caller).Returns(mockedCaller.Object);
            chatHub.Clients = mockedClients.Object;

            var username = "******";

            // Act
            chatHub.CheckUsernameAndConnect(username);

            // Assert
            mockedCaller.Verify(x => x.ChatWith(username), Times.Once);
        }
Пример #2
0
        public void CallShowErrorWithCorrectUsername_WhenUserDoesNotExist()
        {
            // Arrange
            var mockedService = new Mock <IUsersService>();
            var chatHub       = new ChatHub(mockedService.Object);

            mockedService.Setup(x => x.CheckIfUserExists(It.IsAny <string>())).Returns(false);

            var mockedClients = new Mock <IHubCallerConnectionContext <dynamic> >();
            var mockedCaller  = new Mock <IClient>();

            mockedCaller.Setup(x => x.ShowUsernameError(It.IsAny <string>())).Verifiable();
            mockedClients.Setup(x => x.Caller).Returns(mockedCaller.Object);
            chatHub.Clients = mockedClients.Object;

            var username = "******";

            // Act
            chatHub.CheckUsernameAndConnect(username);

            // Assert
            mockedCaller.Verify(x => x.ShowUsernameError(username), Times.Once);
        }