コード例 #1
0
        public void Connect_OpensRtmWebSocket(bool manualPresenceSubscription, bool batchPresenceAware)
        {
            var cancellationToken = new CancellationToken(false);
            var rtmUrl            = "rtm url";

            _slackApiClient.Rtm.Connect(manualPresenceSubscription, batchPresenceAware, cancellationToken)
            .Returns(new ConnectResponse {
                Url = rtmUrl
            });
            _webSocketFactory.Create(rtmUrl).Returns(_webSocket);

            var result = _sut.Connect(batchPresenceAware, manualPresenceSubscription, cancellationToken);

            result.IsCompleted.ShouldBe(false);
            _webSocket.Received().Open();

            _opened.OnNext(Unit.Default);

            result.ShouldComplete();
        }