public void SendToSignalR_Send_Message_To_Specific_MethodCall_Only()
        {
            //Arrange
            var publisher = new FakePublishToHub(_connectionProxyMock, "groupName", "methodToCallOnServer", "");
            _connectionProxyMock.StartConnection(_httpClientMock).Returns(info => Task.FromResult(true));

            var proxy = Substitute.For<IHubProxy>();
            _connectionProxyMock.CreateProxy("").Returns(proxy);

            _connectionProxyMock.State.Returns(ConnectionState.Connected);

            publisher.HubProxy = proxy;

            publisher.Connect(_httpClientMock);

            var message = new Message();

            //Act
            publisher.Execute_SendToSignalR(message);

            proxy.Received(1)
                 .Invoke(Arg.Is("methodToCallOnServer"),
                         Arg.Is<object[]>(x => x[0] == message && x[1].ToString() == "groupName"));
        }
        public void SendToSignalR_Should_Set_SentToSignalR_Flag_To_True_On_Success()
        {
            //Arrange
            var publisher = new FakePublishToHub(_connectionProxyMock, "", "", "");
            _connectionProxyMock.StartConnection(_httpClientMock).Returns(info => Task.FromResult(true));

            var proxy = Substitute.For<IHubProxy>();
            _connectionProxyMock.CreateProxy("").Returns(proxy);

            _connectionProxyMock.State.Returns(ConnectionState.Connected);

            publisher.Connect(_httpClientMock);

            //Act
            publisher.Execute_SendToSignalR(new Message());

            Assert.IsTrue(publisher.SentToSignalR);
        }