コード例 #1
0
        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);
        }