Add main controller tests for a few extensions (#11307)

* add a few tests

* fix errors

* undo change

* move registering commands to extension.ts for dacpac and schema compare

* undo createController() addition

* fix whitespace
This commit is contained in:
Kim Santiago
2020-07-13 09:59:12 -07:00
committed by GitHub
parent 1e62030581
commit 347c193455
12 changed files with 39 additions and 157 deletions

View File

@@ -1,37 +0,0 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as azdata from 'azdata';
import * as vscode from 'vscode';
import { DataTierApplicationWizard } from '../wizard/dataTierApplicationWizard';
/**
* The main controller class that initializes the extension
*/
export default class MainController implements vscode.Disposable {
public constructor(private context: vscode.ExtensionContext) {
}
public deactivate(): void {
}
public activate(): Promise<boolean> {
this.initializeDacFxWizard();
return Promise.resolve(true);
}
private initializeDacFxWizard() {
azdata.tasks.registerTask('dacFx.start', (profile: azdata.IConnectionProfile, ...args: any[]) => new DataTierApplicationWizard().start(profile, args));
}
public get extensionContext(): vscode.ExtensionContext {
return this.context;
}
public dispose(): void {
this.deactivate();
}
}

View File

@@ -0,0 +1,15 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as azdata from 'azdata';
import * as vscode from 'vscode';
import { DataTierApplicationWizard } from './wizard/dataTierApplicationWizard';
export async function activate(context: vscode.ExtensionContext) {
vscode.commands.registerCommand('dacFx.start', (profile: azdata.IConnectionProfile, ...args: any[]) => new DataTierApplicationWizard().start(profile, args));
}
export function deactivate(): void {
}

View File

@@ -1,35 +0,0 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as vscode from 'vscode';
import MainController from './controllers/mainController';
let controllers: MainController[] = [];
export function activate(context: vscode.ExtensionContext) {
let activations: Promise<boolean>[] = [];
// Start the main controller
let mainController = new MainController(context);
controllers.push(mainController);
context.subscriptions.push(mainController);
activations.push(mainController.activate());
return Promise.all(activations)
.then((results: boolean[]) => {
for (let result of results) {
if (!result) {
return false;
}
}
return true;
});
}
export function deactivate() {
for (let controller of controllers) {
controller.deactivate();
}
}

View File

@@ -1,27 +0,0 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as should from 'should';
import MainController from '../controllers/mainController';
import { TestContext, createContext } from './testContext';
let testContext: TestContext;
function createController(): MainController {
let controller = new MainController(testContext.context);
return controller;
}
describe('MainController', function (): void {
before(async function (): Promise<void> {
testContext = createContext();
});
it('Should create new instance successfully', async function (): Promise<void> {
let controller: MainController;
should.doesNotThrow(() => controller = createController());
should.notEqual(controller.extensionContext, undefined);
});
});