chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
import { expect } from 'vitest'
|
||||
|
||||
import { sandboxTest } from '../../setup.js'
|
||||
import {
|
||||
cleanupBaseDir,
|
||||
createBaseDir,
|
||||
createRepoWithCommit,
|
||||
} from './helpers.js'
|
||||
|
||||
sandboxTest('git branches lists current and feature', async ({ sandbox }) => {
|
||||
const baseDir = await createBaseDir(sandbox)
|
||||
|
||||
try {
|
||||
const repoPath = await createRepoWithCommit(sandbox, baseDir)
|
||||
await sandbox.commands.run(`git -C "${repoPath}" branch feature`)
|
||||
|
||||
const branches = await sandbox.git.branches(repoPath)
|
||||
expect(branches.currentBranch).toBe('main')
|
||||
expect(branches.branches).toContain('main')
|
||||
expect(branches.branches).toContain('feature')
|
||||
} finally {
|
||||
await cleanupBaseDir(sandbox, baseDir)
|
||||
}
|
||||
})
|
||||
|
||||
sandboxTest('git checkoutBranch switches branch', async ({ sandbox }) => {
|
||||
const baseDir = await createBaseDir(sandbox)
|
||||
|
||||
try {
|
||||
const repoPath = await createRepoWithCommit(sandbox, baseDir)
|
||||
await sandbox.commands.run(`git -C "${repoPath}" branch feature`)
|
||||
|
||||
await sandbox.git.checkoutBranch(repoPath, 'feature')
|
||||
|
||||
const head = (
|
||||
await sandbox.commands.run(
|
||||
`git -C "${repoPath}" rev-parse --abbrev-ref HEAD`
|
||||
)
|
||||
).stdout.trim()
|
||||
expect(head).toBe('feature')
|
||||
} finally {
|
||||
await cleanupBaseDir(sandbox, baseDir)
|
||||
}
|
||||
})
|
||||
|
||||
sandboxTest(
|
||||
'git createBranch creates and checks out branch',
|
||||
async ({ sandbox }) => {
|
||||
const baseDir = await createBaseDir(sandbox)
|
||||
|
||||
try {
|
||||
const repoPath = await createRepoWithCommit(sandbox, baseDir)
|
||||
await sandbox.git.createBranch(repoPath, 'feature')
|
||||
|
||||
const branches = await sandbox.git.branches(repoPath)
|
||||
expect(branches.branches).toContain('feature')
|
||||
expect(branches.currentBranch).toBe('feature')
|
||||
} finally {
|
||||
await cleanupBaseDir(sandbox, baseDir)
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
sandboxTest('git deleteBranch removes branch', async ({ sandbox }) => {
|
||||
const baseDir = await createBaseDir(sandbox)
|
||||
|
||||
try {
|
||||
const repoPath = await createRepoWithCommit(sandbox, baseDir)
|
||||
await sandbox.commands.run(`git -C "${repoPath}" branch feature`)
|
||||
|
||||
await sandbox.git.deleteBranch(repoPath, 'feature')
|
||||
|
||||
const branch = (
|
||||
await sandbox.commands.run(`git -C "${repoPath}" branch --list feature`)
|
||||
).stdout.trim()
|
||||
const branches = await sandbox.git.branches(repoPath)
|
||||
expect(branch).toBe('')
|
||||
expect(branches.branches).not.toContain('feature')
|
||||
} finally {
|
||||
await cleanupBaseDir(sandbox, baseDir)
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user