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