Example #1
0
        public void GetImByUserId_OpensImWithUser_AndCaches()
        {
            var expectedIm = new Im {
                Id = "D123", User = "******"
            };

            _api.Im.Open(expectedIm.User, true).Returns(new ImResponse {
                Channel = expectedIm
            });

            _sut.GetImByUserId(expectedIm.User)
            .ShouldComplete()
            .And.ShouldBe(expectedIm);
            _sut.GetImByUserId(expectedIm.User)
            .ShouldComplete()
            .And.ShouldBe(expectedIm);
            _api.Im.Received(1).Open(expectedIm.User, true);
        }
Example #2
0
        public async Task GetImByUserId_OpensImWithUser_AndCaches()
        {
            var expectedIm = new Conversation {
                Id = "D123", User = "******", IsIm = true
            };

            _api.Conversations.OpenAndReturnInfo(UserIds(expectedIm.User)).Returns(new ConversationOpenResponse {
                Channel = expectedIm
            });

            var result = await _sut.GetImByUserId(expectedIm.User);

            result.ShouldBeA <Im>()
            .And.Id.ShouldBe(expectedIm.Id);
            _sut.GetImByUserId(expectedIm.User)
            .ShouldComplete()
            .And.ShouldBe(result);
            await _api.Conversations.Received(1).OpenAndReturnInfo(UserIds(expectedIm.User));
        }