public async Task RemoveCollaboratorTest() { var collaborator = new DocumentCollaborator { Id = 1, UserId = "userId", DocumentId = "documentId", CaretPosition = 2, ConnectionId = "3" }; DocumentCollaboratorEntity removedEntity = null; var collaboratorRepositoryMock = new Mock <IDocumentCollaboratorRepository>(); collaboratorRepositoryMock.Setup(p => p.RemoveAsync(It.IsAny <DocumentCollaboratorEntity>())) .Callback((DocumentCollaboratorEntity entity) => { removedEntity = entity; }) .Returns(() => Task.FromResult(0)); var collaboratorService = new DocumentCollaboratorService(collaboratorRepositoryMock.Object, MockObjects.GetMapper()); await collaboratorService.RemoveAsync(collaborator); Assert.NotNull(removedEntity); Assert.Equal(collaborator.Id, removedEntity.Id); Assert.Equal(collaborator.CaretPosition, removedEntity.CaretPosition); Assert.Equal(collaborator.ConnectionId, removedEntity.ConnectionId); Assert.Equal(collaborator.DocumentId, removedEntity.DocumentId); Assert.Equal(collaborator.UserId, removedEntity.UserId); collaboratorRepositoryMock.Verify(p => p.RemoveAsync(It.IsAny <DocumentCollaboratorEntity>()), Times.Once); }
public async Task FindCollaboratorByDocumentTest() { var documentId = "documentId"; string requestedDocumentId = null; var collaboratorRepositoryMock = new Mock <IDocumentCollaboratorRepository>(); collaboratorRepositoryMock.Setup(p => p.FindByDocumentAsync(It.IsAny <string>())) .Callback((string id) => { requestedDocumentId = id; }) .Returns((string id) => Task.FromResult(new List <DocumentCollaboratorEntity> { new DocumentCollaboratorEntity { DocumentId = id } })); var collaboratorService = new DocumentCollaboratorService(collaboratorRepositoryMock.Object, MockObjects.GetMapper()); var collaborators = await collaboratorService.FindByDocumentAsync(documentId); Assert.Equal(documentId, requestedDocumentId); Assert.Equal(documentId, collaborators.Single().DocumentId); collaboratorRepositoryMock.Verify(p => p.FindByDocumentAsync(It.IsAny <string>()), Times.Once); }