chore: merge origin/main with local test additions
All checks were successful
CI / verify (push) Successful in 10m1s
All checks were successful
CI / verify (push) Successful in 10m1s
Resolves conflict in repo.spec.ts by combining getRepoPermission tests from main with the getFiles and queryFileContent tests from the local test pass. Adds getRepoPermission to the userRepo.store spec mocks so the new permission probe added upstream doesn't break the store tests.
This commit is contained in:
@@ -1,7 +1,11 @@
|
||||
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"
|
||||
|
||||
const { reposGet } = vi.hoisted(() => ({ reposGet: vi.fn() }))
|
||||
|
||||
vi.mock("./octo", () => ({
|
||||
getOctokit: vi.fn(),
|
||||
getOctokit: vi.fn().mockResolvedValue({
|
||||
repos: { get: reposGet }
|
||||
}),
|
||||
runWithAuthRetry: vi.fn()
|
||||
}))
|
||||
|
||||
@@ -18,12 +22,52 @@ vi.mock("@/modules/note/cache/prepareNoteCache", () => ({
|
||||
}))
|
||||
|
||||
import { getOctokit, runWithAuthRetry } from "./octo"
|
||||
import { getFiles, queryFileContent } from "./repo"
|
||||
import {
|
||||
getFiles,
|
||||
getRepoPermission,
|
||||
queryFileContent
|
||||
} from "./repo"
|
||||
|
||||
const makeOctokitWithRequest = (impl: (route: string, params: unknown) => unknown) => ({
|
||||
request: vi.fn(impl)
|
||||
})
|
||||
|
||||
describe("getRepoPermission", () => {
|
||||
beforeEach(() => {
|
||||
reposGet.mockReset()
|
||||
vi.mocked(getOctokit).mockResolvedValue({
|
||||
repos: { get: reposGet }
|
||||
} as never)
|
||||
})
|
||||
|
||||
it("returns true when permissions.push is true", async () => {
|
||||
reposGet.mockResolvedValue({
|
||||
data: { permissions: { push: true } }
|
||||
})
|
||||
await expect(getRepoPermission("owner", "repo")).resolves.toBe(true)
|
||||
})
|
||||
|
||||
it("returns false when permissions.push is false", async () => {
|
||||
reposGet.mockResolvedValue({
|
||||
data: { permissions: { push: false } }
|
||||
})
|
||||
await expect(getRepoPermission("owner", "repo")).resolves.toBe(false)
|
||||
})
|
||||
|
||||
it("returns false when permissions is missing (anonymous request)", async () => {
|
||||
reposGet.mockResolvedValue({
|
||||
data: {}
|
||||
})
|
||||
await expect(getRepoPermission("owner", "repo")).resolves.toBe(false)
|
||||
})
|
||||
|
||||
it("returns false when owner or repo is empty", async () => {
|
||||
await expect(getRepoPermission("", "repo")).resolves.toBe(false)
|
||||
await expect(getRepoPermission("owner", "")).resolves.toBe(false)
|
||||
expect(reposGet).not.toHaveBeenCalled()
|
||||
})
|
||||
})
|
||||
|
||||
describe("getFiles", () => {
|
||||
beforeEach(() => {
|
||||
vi.mocked(getOctokit).mockReset()
|
||||
|
||||
Reference in New Issue
Block a user