public async Task WhenSettingRelationship_ThenStoreRelationship() { var id = Guid.NewGuid(); var items = new[] { new DraftRelationshipItem { Id = Guid.NewGuid(), Title = "Title 1", Url = new Uri("http://uri.com/entry1.html") }, new DraftRelationshipItem { Id = Guid.NewGuid(), Title = "Title 2", Url = new Uri("http://uri.com/entry2.html") } }; _draftRelationshipRepositoryMock.Setup(m => m.SetRelationship(It.IsAny <DraftRelationship>())) .Callback((DraftRelationship r) => { r.Id.Should().Be(id); r.Relationship.Should().BeEquivalentTo(items); }) .Returns(Task.CompletedTask); _draftRepositoryMock.Setup(m => m.SetRelationship(id, items.Length)).Returns(Task.CompletedTask); await _draftService.SetRelationships(id, items); _draftRelationshipRepositoryMock.Verify(m => m.SetRelationship(It.IsAny <DraftRelationship>()), Times.Once); _draftRepositoryMock.Verify(m => m.SetRelationship(id, items.Length), Times.Once); }