public async Task GetRelationshipDetails_ForRevision_Success() { // Arrange const int artifactId = 1; const bool isDeleted = true; const int projectId = 10; var itemInfo = new DeletedItemInfo { ProjectId = projectId, ArtifactId = artifactId, ItemId = artifactId }; var permisionDictionary = new Dictionary <int, RolePermissions>(); permisionDictionary.Add(artifactId, RolePermissions.Read); var expected = new RelationshipExtendedInfo { ArtifactId = artifactId }; _artifactVersionsRepositoryMock.Setup(m => m.IsItemDeleted(artifactId)).ReturnsAsync(isDeleted); _artifactVersionsRepositoryMock.Setup(m => m.GetDeletedItemInfo(artifactId)).ReturnsAsync(itemInfo); _artifactPermissionsRepositoryMock.Setup(m => m.GetArtifactPermissions(It.IsAny <List <int> >(), _session.UserId, false, int.MaxValue, true, null)).ReturnsAsync(permisionDictionary); _relationshipsRepositoryMock.Setup(m => m.GetRelationshipExtendedInfo(artifactId, _session.UserId, null, isDeleted)).ReturnsAsync(expected); var controller = new RelationshipsController(_relationshipsRepositoryMock.Object, _artifactPermissionsRepositoryMock.Object, _artifactVersionsRepositoryMock.Object) { Request = new HttpRequestMessage() }; controller.Request.Properties[ServiceConstants.SessionProperty] = _session; // Act var actual = await controller.GetRelationshipDetails(artifactId); // Assert Assert.AreSame(expected, actual); }
public async Task GetRelationships_ForVersion_Success() { // Arrange const int artifactId = 1; const int versionId = 9; const int projectId = 10; const int tracedId = 123; var itemInfo = new DeletedItemInfo { ProjectId = projectId, ArtifactId = artifactId, ItemId = artifactId }; var permisionDictionary = new Dictionary <int, RolePermissions>(); permisionDictionary.Add(artifactId, RolePermissions.Read); permisionDictionary.Add(tracedId, RolePermissions.Read); var expected = new RelationshipResultSet { ManualTraces = new List <Relationship> { new Relationship { ArtifactId = tracedId } }, OtherTraces = new List <Relationship>() }; _artifactVersionsRepositoryMock.Setup(m => m.IsItemDeleted(artifactId)).ReturnsAsync(true); _artifactVersionsRepositoryMock.Setup(m => m.GetDeletedItemInfo(artifactId)).ReturnsAsync(itemInfo); _artifactPermissionsRepositoryMock.Setup(m => m.GetArtifactPermissions(It.IsAny <List <int> >(), _session.UserId, false, int.MaxValue, true, null)).ReturnsAsync(permisionDictionary); _relationshipsRepositoryMock.Setup(m => m.GetRelationships(artifactId, _session.UserId, It.IsAny <int?>(), false, false, versionId, null)).ReturnsAsync(expected); var controller = new RelationshipsController(_relationshipsRepositoryMock.Object, _artifactPermissionsRepositoryMock.Object, _artifactVersionsRepositoryMock.Object) { Request = new HttpRequestMessage() }; controller.Request.Properties[ServiceConstants.SessionProperty] = _session; // Act var actual = await controller.GetRelationships(artifactId, versionId : versionId); // Assert Assert.AreSame(expected, actual); }