29 lines · 1.2 KB · TypeScript
RawDownload
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",        "enable-auto-merge",        "disable-auto-merge",      ],      // 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,    });  });});