Files
2026-07-13 12:47:58 +08:00

88 lines
2.3 KiB
TypeScript

import { expect } from 'vitest'
import { sandboxTest } from '../../setup.js'
import {
AUTHOR_EMAIL,
AUTHOR_NAME,
cleanupBaseDir,
createBaseDir,
createRepo,
} from './helpers.js'
sandboxTest('git getConfig reads local config', async ({ sandbox }) => {
const baseDir = await createBaseDir(sandbox)
try {
const repoPath = await createRepo(sandbox, baseDir)
await sandbox.commands.run(
`git -C "${repoPath}" config --local pull.rebase true`
)
const value = await sandbox.git.getConfig('pull.rebase', {
scope: 'local',
path: repoPath,
})
const commandValue = (
await sandbox.commands.run(
`git -C "${repoPath}" config --local --get pull.rebase`
)
).stdout.trim()
expect(value).toBe('true')
expect(commandValue).toBe('true')
} finally {
await cleanupBaseDir(sandbox, baseDir)
}
})
sandboxTest('git setConfig updates local config', async ({ sandbox }) => {
const baseDir = await createBaseDir(sandbox)
try {
const repoPath = await createRepo(sandbox, baseDir)
await sandbox.git.setConfig('pull.rebase', 'true', {
scope: 'local',
path: repoPath,
})
const value = (
await sandbox.commands.run(
`git -C "${repoPath}" config --local --get pull.rebase`
)
).stdout.trim()
const configuredValue = await sandbox.git.getConfig('pull.rebase', {
scope: 'local',
path: repoPath,
})
expect(value).toBe('true')
expect(configuredValue).toBe('true')
} finally {
await cleanupBaseDir(sandbox, baseDir)
}
})
sandboxTest(
'git configureUser sets global user config',
async ({ sandbox }) => {
await sandbox.git.configureUser(AUTHOR_NAME, AUTHOR_EMAIL)
const name = (
await sandbox.commands.run('git config --global --get user.name')
).stdout.trim()
const email = (
await sandbox.commands.run('git config --global --get user.email')
).stdout.trim()
const configuredName = await sandbox.git.getConfig('user.name', {
scope: 'global',
})
const configuredEmail = await sandbox.git.getConfig('user.email', {
scope: 'global',
})
expect(name).toBe(AUTHOR_NAME)
expect(email).toBe(AUTHOR_EMAIL)
expect(configuredName).toBe(AUTHOR_NAME)
expect(configuredEmail).toBe(AUTHOR_EMAIL)
}
)