import type { Octokit } from '@octokit/rest'; import { describe, expect, it, vi } from 'vitest'; import { resolveBranchHead } from '../../convex/githubClient'; describe('resolveBranchHead', () => { it('returns the branch tip sha from the branch ref', async () => { const getBranch = vi.fn(async () => ({ data: { commit: { sha: 'deadbeef' } }, })); const octokit = { rest: { repos: { getBranch } }, } as unknown as Octokit; const result = await resolveBranchHead(octokit, 'o', 'r', 'main'); expect(result.sha).toBe('deadbeef'); expect(getBranch).toHaveBeenCalledWith({ owner: 'o', repo: 'r', branch: 'main', }); }); });