mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-25 17:23:10 -05:00
Fix unstable data-workspace tests (#13824)
* stub file existing validation * add error message * change back to calling dialog.validate() * move tests to separate dialogbase file and add more error message validation
This commit is contained in:
@@ -7,8 +7,6 @@ import * as should from 'should';
|
||||
import * as TypeMoq from 'typemoq';
|
||||
import * as sinon from 'sinon';
|
||||
import * as vscode from 'vscode';
|
||||
import * as os from 'os';
|
||||
import * as path from 'path';
|
||||
import * as constants from '../../common/constants';
|
||||
import { promises as fs } from 'fs';
|
||||
import { WorkspaceService } from '../../services/workspaceService';
|
||||
@@ -53,31 +51,6 @@ suite('Open Existing Dialog', function (): void {
|
||||
should.equal(await dialog.validate(), true, 'Validation pass because workspace file exists');
|
||||
});
|
||||
|
||||
test('Should validate new workspace location @UNSTABLE@', async function (): Promise<void> {
|
||||
const workspaceServiceMock = TypeMoq.Mock.ofType<WorkspaceService>();
|
||||
workspaceServiceMock.setup(x => x.getAllProjectTypes()).returns(() => Promise.resolve([testProjectType]));
|
||||
|
||||
const dialog = new OpenExistingDialog(workspaceServiceMock.object, mockExtensionContext.object);
|
||||
await dialog.open();
|
||||
|
||||
dialog._projectFile = await createProjectFile('testproj');
|
||||
dialog.workspaceInputBox!.value = 'test';
|
||||
should.equal(await dialog.validate(), false, 'Validation should fail because workspace does not end in code-workspace');
|
||||
|
||||
// use invalid folder
|
||||
dialog.workspaceInputBox!.value = 'invalidLocation/test.code-workspace';
|
||||
should.equal(await dialog.validate(), false, 'Validation should fail because the folder is invalid');
|
||||
|
||||
// use already existing workspace
|
||||
const existingWorkspaceFilePath = path.join(os.tmpdir(), `test.code-workspace`);
|
||||
await fs.writeFile(existingWorkspaceFilePath, '');
|
||||
dialog.workspaceInputBox!.value = existingWorkspaceFilePath;
|
||||
should.equal(await dialog.validate(), false, 'Validation should fail because the selected workspace file already exists');
|
||||
|
||||
// change workspace name to something that should pass
|
||||
dialog.workspaceInputBox!.value = path.join(os.tmpdir(), `TestWorkspace_${new Date().getTime()}.code-workspace`);
|
||||
should.equal(await dialog.validate(), true, 'Validation should pass because the parent directory exists, workspace filepath is unique, and the file extension is correct');
|
||||
});
|
||||
|
||||
test('Should validate workspace in onComplete when opening project', async function (): Promise<void> {
|
||||
const workspaceServiceMock = TypeMoq.Mock.ofType<WorkspaceService>();
|
||||
|
||||
Reference in New Issue
Block a user