public async Task ReturnsAdminPermissionForOwnerWithRepositoryId() { var github = Helper.GetAuthenticatedClient(); var repoName = Helper.MakeNameWithTimestamp("public-repo"); using (var context = await github.CreateRepositoryContext(new NewRepository(repoName))) { var fixture = new ObservableRepoCollaboratorsClient(github); var permission = await fixture.ReviewPermission(context.RepositoryId, context.RepositoryOwner); Assert.Equal(PermissionLevel.Admin, permission.Permission); } }
public async Task ReturnsWritePermissionForCollaborator() { var github = Helper.GetAuthenticatedClient(); var repoName = Helper.MakeNameWithTimestamp("public-repo"); using (var context = await github.CreateRepositoryContext(new NewRepository(repoName))) { var fixture = new ObservableRepoCollaboratorsClient(github); // add a collaborator await fixture.Add(context.RepositoryOwner, context.RepositoryName, "alfhenrik-test-2"); var permission = await fixture.ReviewPermission(context.RepositoryOwner, context.RepositoryName, "alfhenrik-test-2"); Assert.Equal(PermissionLevel.Write, permission.Permission); } }
public async Task ReturnsNonePermissionForPrivateRepositoryWithRepositoryId() { var github = Helper.GetAuthenticatedClient(); var userDetails = await github.User.Current(); if (userDetails.Plan.PrivateRepos == 0) { throw new Exception("Test cannot complete, account is on free plan"); } var repoName = Helper.MakeNameWithTimestamp("private-repo"); using (var context = await github.CreateRepositoryContext(new NewRepository(repoName) { Private = true })) { var fixture = new ObservableRepoCollaboratorsClient(github); var permission = await fixture.ReviewPermission(context.RepositoryId, "alfhenrik-test-2"); Assert.Equal(PermissionLevel.None, permission.Permission); } }