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