chore: cleanup tracked junk + commit remaining test fixes
.gitignore: - Add .duckdb semantic index binaries - Add .axiom/temp/ pytest artifacts - Add e2e_*.png screenshots - Remove tracked package-lock.json (already in gitignore) Untrack junk (git rm --cached): - 3 duckdb binary index files - 18 pytest temp artifacts - 12 e2e screenshots - package-lock.json Test fixes (decomposition follow-up): - executor test mock paths - orchestrator test mock paths - preview test mock paths - orthogonal fixes test mock paths - git_manager integration test - settings_page integration test - settings-utils fix
This commit is contained in:
@@ -1,41 +1,42 @@
|
||||
// #region GitManagerUnfinishedMergeIntegrationTest:Module [TYPE Function]
|
||||
// @SEMANTICS: git-manager, unfinished-merge, dialog, integration-test
|
||||
// @PURPOSE: Protect unresolved-merge dialog contract in GitManager pull flow.
|
||||
// @LAYER: UI Tests
|
||||
// @RELATION: DEPENDS_ON -> [GitManager]
|
||||
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import fs from 'node:fs';
|
||||
import path from 'node:path';
|
||||
|
||||
const COMPONENT_PATH = path.resolve(
|
||||
process.cwd(),
|
||||
'src/components/git/GitManager.svelte',
|
||||
);
|
||||
const MANAGER_PATH = path.resolve(process.cwd(), 'src/components/git/GitManager.svelte');
|
||||
const UTILS_PATH = path.resolve(process.cwd(), 'src/services/git-utils.js');
|
||||
const HANDLER_PATH = path.resolve(process.cwd(), 'src/components/git/useGitManager.js');
|
||||
const DIALOG_PATH = path.resolve(process.cwd(), 'src/components/git/GitMergeDialog.svelte');
|
||||
|
||||
describe('GitManager unfinished merge dialog contract', () => {
|
||||
it('keeps 409 unfinished-merge detection and WebUI dialog recovery flow in pull handler', () => {
|
||||
const source = fs.readFileSync(COMPONENT_PATH, 'utf-8');
|
||||
const utils = fs.readFileSync(UTILS_PATH, 'utf-8');
|
||||
const handlers = fs.readFileSync(HANDLER_PATH, 'utf-8');
|
||||
const manager = fs.readFileSync(MANAGER_PATH, 'utf-8');
|
||||
|
||||
expect(source).toContain('Number(error?.status) !== 409');
|
||||
expect(source).toContain("payload.error_code !== 'GIT_UNFINISHED_MERGE'");
|
||||
expect(source).toContain('function openUnfinishedMergeDialogFromError(error)');
|
||||
expect(source).toContain('showUnfinishedMergeDialog = true;');
|
||||
expect(source).toContain('const handledByDialog = openUnfinishedMergeDialogFromError(e);');
|
||||
expect(source).toContain('await loadMergeRecoveryState();');
|
||||
expect(utils).toContain("error_code !== 'GIT_UNFINISHED_MERGE'");
|
||||
expect(handlers).toContain('showUnfinishedMergeDialog: true');
|
||||
expect(handlers).toContain('this.openUnfinishedMergeDialogFromError(e)');
|
||||
expect(handlers).toContain('await this.loadMergeRecoveryState();');
|
||||
expect(manager).toContain('h.handlePull');
|
||||
expect(manager).toContain('h.loadMergeRecoveryState');
|
||||
});
|
||||
|
||||
it('renders unresolved-merge dialog details and web recovery actions', () => {
|
||||
const source = fs.readFileSync(COMPONENT_PATH, 'utf-8');
|
||||
const source = fs.readFileSync(DIALOG_PATH, 'utf-8');
|
||||
|
||||
expect(source).toContain('{#if showUnfinishedMergeDialog && unfinishedMergeContext}');
|
||||
expect(source).toContain('{#if show && unfinishedMergeContext}');
|
||||
expect(source).toContain('unfinishedMergeContext.repositoryPath');
|
||||
expect(source).toContain('unfinishedMergeContext.currentBranch');
|
||||
expect(source).toContain('unfinishedMergeContext.commands.join');
|
||||
expect(source).toContain('handleCopyUnfinishedMergeCommands');
|
||||
expect(source).toContain('handleOpenConflictResolver');
|
||||
expect(source).toContain('handleAbortUnfinishedMerge');
|
||||
expect(source).toContain('handleContinueUnfinishedMerge');
|
||||
expect(source).toContain('onCopyCommands');
|
||||
expect(source).toContain('onOpenConflictResolver');
|
||||
expect(source).toContain('onAbortMerge');
|
||||
expect(source).toContain('onContinueMerge');
|
||||
expect(source).toContain('$t.git?.unfinished_merge?.copy_commands');
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user