import { describe, expect, it } from "vite-plus/test";import { AZURE_DEVOPS_VIEWER_PERMISSIONS } from "./AzureDevOpsPullRequestProvider.ts";describe("azure devops viewer permissions", () => { it("offers every action to whoever is signed in, because Azure names no permission", () => { // The same answer for a viewer who can write, one who can only read, and an author with read // access: `az repos pr show` and `az repos pr list` carry nothing about the caller's standing, // and an unknown permission is granted rather than guessed away. Azure refuses the ones it // will not allow, at the moment they are taken, in words this could not have written. expect(AZURE_DEVOPS_VIEWER_PERMISSIONS).toEqual({ actions: ["merge", "ready", "draft", "close", "reopen"], // False because the host itself cannot post one, not because this viewer may not. comment: false, resolve: false, verdicts: [], // True because `az repos pr reviewer` does take one, and Azure says nothing about who may. requestReviewers: true, }); });});
import { describe, expect, it } from "vite-plus/test";
import { AZURE_DEVOPS_VIEWER_PERMISSIONS } from "./AzureDevOpsPullRequestProvider.ts";
describe("azure devops viewer permissions", () => {
it("offers every action to whoever is signed in, because Azure names no permission", () => {
// The same answer for a viewer who can write, one who can only read, and an author with read
// access: `az repos pr show` and `az repos pr list` carry nothing about the caller's standing,
// and an unknown permission is granted rather than guessed away. Azure refuses the ones it
// will not allow, at the moment they are taken, in words this could not have written.
expect(AZURE_DEVOPS_VIEWER_PERMISSIONS).toEqual({
actions: ["merge", "ready", "draft", "close", "reopen"],
// False because the host itself cannot post one, not because this viewer may not.
comment: false,
resolve: false,
verdicts: [],
// True because `az repos pr reviewer` does take one, and Azure says nothing about who may.
requestReviewers: true,
});
});
});