36 lines
959 B
TypeScript
36 lines
959 B
TypeScript
import { expect } from 'vitest'
|
|
|
|
import { sandboxTest } from '../../setup.js'
|
|
import {
|
|
cleanupBaseDir,
|
|
createBaseDir,
|
|
createRepoWithCommit,
|
|
startGitDaemon,
|
|
} from './helpers.js'
|
|
|
|
sandboxTest('git clone fetches repo', async ({ sandbox }) => {
|
|
const baseDir = await createBaseDir(sandbox)
|
|
|
|
try {
|
|
const repoPath = await createRepoWithCommit(sandbox, baseDir)
|
|
const daemon = await startGitDaemon(sandbox, baseDir)
|
|
const clonePath = `${baseDir}/clone`
|
|
|
|
try {
|
|
await sandbox.git.remoteAdd(repoPath, 'origin', daemon.remoteUrl)
|
|
await sandbox.git.push(repoPath, {
|
|
remote: 'origin',
|
|
branch: 'main',
|
|
})
|
|
|
|
await sandbox.git.clone(daemon.remoteUrl, { path: clonePath })
|
|
const contents = await sandbox.files.read(`${clonePath}/README.md`)
|
|
expect(contents).toContain('hello')
|
|
} finally {
|
|
await daemon.handle.kill()
|
|
}
|
|
} finally {
|
|
await cleanupBaseDir(sandbox, baseDir)
|
|
}
|
|
})
|