mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 18:46:40 -05:00
Add DacFx summary page tests (#11519)
* remove generate script operation * add tests for summary page * add a couple more checks
This commit is contained in:
@@ -31,8 +31,7 @@ export enum Operation {
|
||||
deploy,
|
||||
extract,
|
||||
import,
|
||||
export,
|
||||
generateDeployScript
|
||||
export
|
||||
}
|
||||
|
||||
export enum DeployOperationPath {
|
||||
@@ -117,10 +116,7 @@ export class DataTierApplicationWizard {
|
||||
|
||||
this.model.serverId = this.connection.connectionId;
|
||||
this.setPages();
|
||||
|
||||
this.wizard.generateScriptButton.hidden = true;
|
||||
this.wizard.generateScriptButton.onClick(async () => await this.generateDeployScript());
|
||||
this.wizard.doneButton.onClick(async () => await this.executeOperation());
|
||||
this.configureButtons();
|
||||
|
||||
this.wizard.open();
|
||||
return true;
|
||||
@@ -206,6 +202,12 @@ export class DataTierApplicationWizard {
|
||||
this.wizard.pages = [selectOperationWizardPage, deployConfigWizardPage, deployPlanWizardPage, summaryWizardPage];
|
||||
}
|
||||
|
||||
public configureButtons(): void {
|
||||
this.wizard.generateScriptButton.hidden = true;
|
||||
this.wizard.generateScriptButton.onClick(async () => await this.generateDeployScript());
|
||||
this.wizard.doneButton.onClick(async () => await this.executeOperation());
|
||||
}
|
||||
|
||||
public registerNavigationValidator(validator: (pageChangeInfo: azdata.window.WizardPageChangeInfo) => boolean) {
|
||||
this.wizard.registerNavigationValidator(validator);
|
||||
}
|
||||
@@ -232,14 +234,9 @@ export class DataTierApplicationWizard {
|
||||
this.selectedOperation = Operation.export;
|
||||
break;
|
||||
}
|
||||
case Operation.generateDeployScript: {
|
||||
this.wizard.doneButton.label = loc.generateScript;
|
||||
this.selectedOperation = Operation.generateDeployScript;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (operation !== Operation.deploy && operation !== Operation.generateDeployScript) {
|
||||
if (operation !== Operation.deploy) {
|
||||
this.model.upgradeExisting = false;
|
||||
}
|
||||
}
|
||||
@@ -258,9 +255,6 @@ export class DataTierApplicationWizard {
|
||||
case Operation.export: {
|
||||
return await this.export();
|
||||
}
|
||||
case Operation.generateDeployScript: {
|
||||
return await this.generateDeployScript();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -328,7 +322,7 @@ export class DataTierApplicationWizard {
|
||||
}
|
||||
} else if (this.isSummaryPage(idx)) {
|
||||
page = this.pages.get(PageName.summary);
|
||||
} else if ((this.selectedOperation === Operation.deploy || this.selectedOperation === Operation.generateDeployScript) && idx === DeployOperationPath.deployPlan) {
|
||||
} else if ((this.selectedOperation === Operation.deploy) && idx === DeployOperationPath.deployPlan) {
|
||||
page = this.pages.get(PageName.deployPlan);
|
||||
}
|
||||
|
||||
@@ -340,7 +334,7 @@ export class DataTierApplicationWizard {
|
||||
|| this.selectedOperation === Operation.export && idx === ExportOperationPath.summary
|
||||
|| this.selectedOperation === Operation.extract && idx === ExtractOperationPath.summary
|
||||
|| this.selectedOperation === Operation.deploy && !this.model.upgradeExisting && idx === DeployNewOperationPath.summary
|
||||
|| (this.selectedOperation === Operation.deploy || this.selectedOperation === Operation.generateDeployScript) && idx === DeployOperationPath.summary;
|
||||
|| (this.selectedOperation === Operation.deploy) && idx === DeployOperationPath.summary;
|
||||
}
|
||||
|
||||
public async generateDeployPlan(): Promise<string> {
|
||||
|
||||
@@ -13,6 +13,7 @@ export class DacFxSummaryPage extends BasePage {
|
||||
private form: azdata.FormContainer;
|
||||
private table: azdata.TableComponent;
|
||||
private loader: azdata.LoadingComponent;
|
||||
public data: string[][];
|
||||
|
||||
public constructor(instance: DataTierApplicationWizard, wizardPage: azdata.window.WizardPage, model: DacFxDataModel, view: azdata.ModelView) {
|
||||
super(instance, wizardPage, model, view);
|
||||
@@ -36,7 +37,7 @@ export class DacFxSummaryPage extends BasePage {
|
||||
}
|
||||
|
||||
async onPageEnter(): Promise<boolean> {
|
||||
this.populateTable();
|
||||
await this.populateTable();
|
||||
this.loader.loading = false;
|
||||
if (this.model.upgradeExisting && this.instance.selectedOperation === Operation.deploy) {
|
||||
this.instance.wizard.generateScriptButton.hidden = false;
|
||||
@@ -61,8 +62,7 @@ export class DacFxSummaryPage extends BasePage {
|
||||
});
|
||||
}
|
||||
|
||||
private populateTable() {
|
||||
let data = [];
|
||||
private async populateTable(): Promise<void> {
|
||||
let targetServer = loc.targetServer;
|
||||
let targetDatabase = loc.targetDatabase;
|
||||
let sourceServer = loc.sourceServer;
|
||||
@@ -71,14 +71,14 @@ export class DacFxSummaryPage extends BasePage {
|
||||
|
||||
switch (this.instance.selectedOperation) {
|
||||
case Operation.deploy: {
|
||||
data = [
|
||||
this.data = [
|
||||
[targetServer, this.model.serverName],
|
||||
[fileLocation, this.model.filePath],
|
||||
[targetDatabase, this.model.database]];
|
||||
break;
|
||||
}
|
||||
case Operation.extract: {
|
||||
data = [
|
||||
this.data = [
|
||||
[sourceServer, this.model.serverName],
|
||||
[sourceDatabase, this.model.database],
|
||||
[loc.version, this.model.version],
|
||||
@@ -86,30 +86,23 @@ export class DacFxSummaryPage extends BasePage {
|
||||
break;
|
||||
}
|
||||
case Operation.import: {
|
||||
data = [
|
||||
this.data = [
|
||||
[targetServer, this.model.serverName],
|
||||
[fileLocation, this.model.filePath],
|
||||
[targetDatabase, this.model.database]];
|
||||
break;
|
||||
}
|
||||
case Operation.export: {
|
||||
data = [
|
||||
this.data = [
|
||||
[sourceServer, this.model.serverName],
|
||||
[sourceDatabase, this.model.database],
|
||||
[fileLocation, this.model.filePath]];
|
||||
break;
|
||||
}
|
||||
case Operation.generateDeployScript: {
|
||||
data = [
|
||||
[targetServer, this.model.serverName],
|
||||
[fileLocation, this.model.filePath],
|
||||
[targetDatabase, this.model.database]];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
this.table.updateProperties({
|
||||
data: data,
|
||||
await this.table.updateProperties({
|
||||
data: this.data,
|
||||
columns: [
|
||||
{
|
||||
value: loc.setting,
|
||||
|
||||
Reference in New Issue
Block a user