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