mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-17 02:51:36 -05:00
Enable manage packages smoke test (#19504)
* fix page being reset twice and add back smoke test * add missing await * check pyarrow info loaded * install latest package version * fix version select box selector * split out into two PRs
This commit is contained in:
@@ -19,7 +19,7 @@ export class ManagePackagesDialog extends Dialog {
|
|||||||
await this.waitForNewDialog();
|
await this.waitForNewDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
async addNewPackage(packageName: string, packageVersion: string = ''): Promise<void> {
|
async addNewPackage(packageName: string): Promise<string> {
|
||||||
const addNewTab = `${ManagePackagesDialog.dialogPage} div[class="tab-header"][aria-controls="dialogPane.Manage Packages.1"]`;
|
const addNewTab = `${ManagePackagesDialog.dialogPage} div[class="tab-header"][aria-controls="dialogPane.Manage Packages.1"]`;
|
||||||
await this.code.waitAndClick(addNewTab);
|
await this.code.waitAndClick(addNewTab);
|
||||||
|
|
||||||
@@ -37,12 +37,12 @@ export class ManagePackagesDialog extends Dialog {
|
|||||||
const searchButton = `${ManagePackagesDialog.dialogPage} a[class="monaco-button monaco-text-button"][aria-label="Search"][aria-disabled="false"]`;
|
const searchButton = `${ManagePackagesDialog.dialogPage} a[class="monaco-button monaco-text-button"][aria-label="Search"][aria-disabled="false"]`;
|
||||||
await this.code.waitAndClick(searchButton);
|
await this.code.waitAndClick(searchButton);
|
||||||
|
|
||||||
if (packageVersion) {
|
const packageNameSelector = `${ManagePackagesDialog.dialogPage} div[id="textContainer"] span`;
|
||||||
const versionSelectBox = `${ManagePackagesDialog.dialogPage} select[class="monaco-select-box monaco-select-box-dropdown-padding"][aria-label="Package Version"]`;
|
await this.code.waitForTextContent(packageNameSelector, packageName);
|
||||||
const versionOption = `${versionSelectBox} option[value="${packageVersion}]`;
|
|
||||||
this.code.waitForElement(versionOption);
|
// Get the latest package version
|
||||||
this.code.waitForSetValue(versionSelectBox, packageVersion);
|
const versionSelectBox = `${ManagePackagesDialog.dialogPage} select[aria-label="Package Version"] option`;
|
||||||
}
|
let packageVersion = await this.code.waitForTextContent(versionSelectBox);
|
||||||
|
|
||||||
const installButton = `${ManagePackagesDialog.dialogPage} a[class="monaco-button monaco-text-button"][aria-label="Install"][aria-disabled="false"]`;
|
const installButton = `${ManagePackagesDialog.dialogPage} a[class="monaco-button monaco-text-button"][aria-label="Install"][aria-disabled="false"]`;
|
||||||
await this.code.waitAndClick(installButton);
|
await this.code.waitAndClick(installButton);
|
||||||
@@ -57,5 +57,7 @@ export class ManagePackagesDialog extends Dialog {
|
|||||||
const closeButton = '.modal .modal-footer a[class="monaco-button monaco-text-button"][aria-label="Close"][aria-disabled="false"]';
|
const closeButton = '.modal .modal-footer a[class="monaco-button monaco-text-button"][aria-label="Close"][aria-disabled="false"]';
|
||||||
await this.code.waitAndClick(closeButton);
|
await this.code.waitAndClick(closeButton);
|
||||||
await this.waitForDialogGone();
|
await this.waitForDialogGone();
|
||||||
|
|
||||||
|
return packageVersion;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -86,8 +86,7 @@ export function setup(opts: minimist.ParsedArgs) {
|
|||||||
await app.workbench.sqlNotebook.waitForActiveCellResults();
|
await app.workbench.sqlNotebook.waitForActiveCellResults();
|
||||||
});
|
});
|
||||||
|
|
||||||
// Skip this test for now since it is not stable - the way that the wizard is initialized needs to be refactored
|
it('can add a new package from the Manage Packages wizard', async function () {
|
||||||
it.skip('can add a new package from the Manage Packages wizard', async function () {
|
|
||||||
const app = this.app as Application;
|
const app = this.app as Application;
|
||||||
await app.workbench.sqlNotebook.newUntitledNotebook();
|
await app.workbench.sqlNotebook.newUntitledNotebook();
|
||||||
await app.workbench.sqlNotebook.notebookToolbar.waitForKernel('SQL');
|
await app.workbench.sqlNotebook.notebookToolbar.waitForKernel('SQL');
|
||||||
@@ -101,9 +100,9 @@ export function setup(opts: minimist.ParsedArgs) {
|
|||||||
|
|
||||||
await app.workbench.sqlNotebook.notebookToolbar.managePackages();
|
await app.workbench.sqlNotebook.notebookToolbar.managePackages();
|
||||||
await app.workbench.managePackagesDialog.waitForManagePackagesDialog();
|
await app.workbench.managePackagesDialog.waitForManagePackagesDialog();
|
||||||
await app.workbench.managePackagesDialog.addNewPackage('pyarrow', '7.0.0');
|
let packageVersion = await app.workbench.managePackagesDialog.addNewPackage('pyarrow');
|
||||||
await app.workbench.taskPanel.showTaskPanel();
|
await app.workbench.taskPanel.showTaskPanel();
|
||||||
await app.workbench.taskPanel.waitForTaskComplete('Installing pyarrow 7.0.0 succeeded');
|
await app.workbench.taskPanel.waitForTaskComplete(`Installing pyarrow ${packageVersion} succeeded`);
|
||||||
|
|
||||||
// There should be no error output when running the cell after pyarrow has been installed
|
// There should be no error output when running the cell after pyarrow has been installed
|
||||||
await app.workbench.sqlNotebook.runActiveCell();
|
await app.workbench.sqlNotebook.runActiveCell();
|
||||||
|
|||||||
Reference in New Issue
Block a user