31 lines
876 B
TypeScript
31 lines
876 B
TypeScript
import { expect } from 'vitest'
|
|
|
|
import { sandboxTest } from '../../setup.js'
|
|
import {
|
|
cleanupBaseDir,
|
|
createBaseDir,
|
|
createRepoWithCommit,
|
|
} from './helpers.js'
|
|
|
|
sandboxTest('git reset --hard discards changes', async ({ sandbox }) => {
|
|
const baseDir = await createBaseDir(sandbox)
|
|
|
|
try {
|
|
const repoPath = await createRepoWithCommit(sandbox, baseDir)
|
|
await sandbox.files.write(`${repoPath}/README.md`, 'changed\n')
|
|
|
|
const status = await sandbox.git.status(repoPath)
|
|
expect(status.isClean).toBe(false)
|
|
|
|
await sandbox.git.reset(repoPath, { mode: 'hard', target: 'HEAD' })
|
|
|
|
const statusAfter = await sandbox.git.status(repoPath)
|
|
expect(statusAfter.isClean).toBe(true)
|
|
|
|
const contents = await sandbox.files.read(`${repoPath}/README.md`)
|
|
expect(contents).toBe('hello\n')
|
|
} finally {
|
|
await cleanupBaseDir(sandbox, baseDir)
|
|
}
|
|
})
|