public async Task Should_retrieve_from_inner_if_not_cached() { var contentIds = HashSet.Of(contentId); var state = new TextContentState { UniqueContentId = contentId }; var states = new Dictionary <DomainId, TextContentState> { [contentId] = state }; A.CallTo(() => inner.GetAsync(A <HashSet <DomainId> > .That.Is(contentIds), ct)) .Returns(states); var found1 = await sut.GetAsync(HashSet.Of(contentId), ct); var found2 = await sut.GetAsync(HashSet.Of(contentId), ct); Assert.Same(state, found1[contentId]); Assert.Same(state, found2[contentId]); A.CallTo(() => inner.GetAsync(A <HashSet <DomainId> > .That.Is(contentIds), ct)) .MustHaveHappenedOnceExactly(); }
public async Task Should_retrieve_from_inner_when_not_cached() { var state = new TextContentState { ContentId = contentId }; A.CallTo(() => inner.GetAsync(appId, contentId)) .Returns(state); var found1 = await sut.GetAsync(appId, contentId); var found2 = await sut.GetAsync(appId, contentId); Assert.Same(state, found1); Assert.Same(state, found2); A.CallTo(() => inner.GetAsync(appId, contentId)) .MustHaveHappenedOnceExactly(); }