public void GivenNoApprovalsAreWaitingIn(KeyValuePair <string, string> teamProject) { var service = new VstsService(); var approvals = service.GetApprovals(Config.Account, teamProject.Value, Config.Profile).Result; foreach (var approval in approvals) { service.ChangeApprovalStatus(Config.Account, teamProject.Value, Config.Profile, approval.Id, ApprovalStatus.Rejected, string.Empty).Wait(); } }
public async Task ChangeApprovalStatusTest() { var account = "MyAccount"; var project = "MyProject"; const int id = 1234; var comment = "My comment"; var status = ApprovalStatus.Undefined; var profile = new VstsProfile { Id = Guid.NewGuid(), Token = this.token, EmailAddress = "*****@*****.**" }; var service = new VstsService(); await Assert.ThrowsExceptionAsync <ArgumentNullException>(async() => await service.ChangeApprovalStatus(null, project, profile, id, status, comment)); await Assert.ThrowsExceptionAsync <ArgumentNullException>(async() => await service.ChangeApprovalStatus(account, null, profile, id, status, comment)); await Assert.ThrowsExceptionAsync <ArgumentNullException>(async() => await service.ChangeApprovalStatus(account, project, null, id, status, comment)); using (ShimsContext.Create()) { ReleaseApproval updatedApproval = null; InitializeConnectionShim(new VssHttpClientBase[] { GetAccountHttpClient(new List <Account> { new Account(Guid.Empty) { AccountName = "myaccount", AccountUri = new Uri("https://myaccount.visualstudio.com") } }), GetProfileHttpClient(new Profile()), new ShimReleaseHttpClientBase(new ShimReleaseHttpClient2()) { GetApprovalAsyncStringInt32NullableOfBooleanObjectCancellationToken = (p, i, includeHistory, userState, cancellationToken) => Task.Run( () => new ReleaseApproval { Id = i }, cancellationToken), UpdateReleaseApprovalAsyncReleaseApprovalStringInt32ObjectCancellationToken = (releaseApproval, p, i, userState, cancellationToken) => Task.Run( delegate { Assert.AreEqual(project, p); updatedApproval = releaseApproval; return(updatedApproval); }, cancellationToken) }.Instance }); await service.ChangeApprovalStatus(account, project, profile, 4, ApprovalStatus.Canceled, comment); Assert.IsNotNull(updatedApproval); Assert.AreEqual(4, updatedApproval.Id); Assert.AreEqual(ApprovalStatus.Canceled, updatedApproval.Status); Assert.AreEqual(comment, updatedApproval.Comments); } }