mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 18:46:40 -05:00
First set of test for SchemaCompareDialog (#11444)
* Add a test for SchemaCompareDialog and update the product code with deferred promise * Update test to verify that button clicked worked * Addressed comments * Updated verifyButtonsState to use should instead of console.log
This commit is contained in:
@@ -28,23 +28,6 @@ before(function (): void {
|
||||
testContext = createContext();
|
||||
});
|
||||
|
||||
describe('SchemaCompareDialog.openDialog', function (): void {
|
||||
before(() => {
|
||||
mockExtensionContext = TypeMoq.Mock.ofType<vscode.ExtensionContext>();
|
||||
mockExtensionContext.setup(x => x.extensionPath).returns(() => '');
|
||||
});
|
||||
|
||||
it('Should be correct when created.', async function (): Promise<void> {
|
||||
let schemaCompareResult = new SchemaCompareMainWindow(testContext.apiWrapper.object, undefined, mockExtensionContext.object);
|
||||
let dialog = new SchemaCompareDialog(schemaCompareResult);
|
||||
await dialog.openDialog();
|
||||
|
||||
should(dialog.dialog.title).equal('Schema Compare');
|
||||
should(dialog.dialog.okButton.label).equal('OK');
|
||||
should(dialog.dialog.okButton.enabled).equal(false); // Should be false when open
|
||||
});
|
||||
});
|
||||
|
||||
describe('SchemaCompareMainWindow.start', function (): void {
|
||||
before(() => {
|
||||
mockExtensionContext = TypeMoq.Mock.ofType<vscode.ExtensionContext>();
|
||||
@@ -162,10 +145,18 @@ describe('SchemaCompareMainWindow.execute', function (): void {
|
||||
await result.execute();
|
||||
|
||||
//Generate script button and apply button should be disabled for dacpac comparison
|
||||
should(result.verifyButtonsState( {compareButtonState: true, optionsButtonState: true, switchButtonState: true,
|
||||
openScmpButtonState: true, saveScmpButtonState: true, cancelCompareButtonState: false,
|
||||
selectSourceButtonState: true, selectTargetButtonState: true, generateScriptButtonState: false,
|
||||
applyButtonState: false} )).equal(true);
|
||||
result.verifyButtonsState( {
|
||||
compareButtonState: true,
|
||||
optionsButtonState: true,
|
||||
switchButtonState: true,
|
||||
openScmpButtonState: true,
|
||||
saveScmpButtonState: true,
|
||||
cancelCompareButtonState: false,
|
||||
selectSourceButtonState: true,
|
||||
selectTargetButtonState: true,
|
||||
generateScriptButtonState: false,
|
||||
applyButtonState: false
|
||||
} );
|
||||
});
|
||||
|
||||
it('Should disable script button and apply button for Schema Compare service for database', async function (): Promise<void> {
|
||||
@@ -183,10 +174,18 @@ describe('SchemaCompareMainWindow.execute', function (): void {
|
||||
await result.execute();
|
||||
|
||||
//Generate script button and apply button should be enabled for database comparison
|
||||
should(result.verifyButtonsState( {compareButtonState: true, optionsButtonState: true, switchButtonState: true,
|
||||
openScmpButtonState: true, saveScmpButtonState: true, cancelCompareButtonState: false,
|
||||
selectSourceButtonState: true, selectTargetButtonState: true, generateScriptButtonState: true,
|
||||
applyButtonState: true} )).equal(true);
|
||||
result.verifyButtonsState( {
|
||||
compareButtonState: true,
|
||||
optionsButtonState: true,
|
||||
switchButtonState: true,
|
||||
openScmpButtonState: true,
|
||||
saveScmpButtonState: true,
|
||||
cancelCompareButtonState: false,
|
||||
selectSourceButtonState: true,
|
||||
selectTargetButtonState: true,
|
||||
generateScriptButtonState: true,
|
||||
applyButtonState: true
|
||||
} );
|
||||
});
|
||||
|
||||
});
|
||||
@@ -213,10 +212,18 @@ describe('SchemaCompareMainWindow.updateSourceAndTarget', function (): void {
|
||||
|
||||
result.updateSourceAndTarget();
|
||||
|
||||
should(result.verifyButtonsState( {compareButtonState: false, optionsButtonState: false, switchButtonState: false,
|
||||
openScmpButtonState: true, saveScmpButtonState: false, cancelCompareButtonState: false,
|
||||
selectSourceButtonState: true, selectTargetButtonState: true, generateScriptButtonState: false,
|
||||
applyButtonState: false} )).equal(true);
|
||||
result.verifyButtonsState( {
|
||||
compareButtonState: false,
|
||||
optionsButtonState: false,
|
||||
switchButtonState: false,
|
||||
openScmpButtonState: true,
|
||||
saveScmpButtonState: false,
|
||||
cancelCompareButtonState: false,
|
||||
selectSourceButtonState: true,
|
||||
selectTargetButtonState: true,
|
||||
generateScriptButtonState: false,
|
||||
applyButtonState: false
|
||||
} );
|
||||
});
|
||||
|
||||
it('Should set buttons appropriately when source endpoint is empty and target endpoint is populated', async function (): Promise<void> {
|
||||
@@ -234,10 +241,18 @@ describe('SchemaCompareMainWindow.updateSourceAndTarget', function (): void {
|
||||
|
||||
result.updateSourceAndTarget();
|
||||
|
||||
should(result.verifyButtonsState( {compareButtonState: false, optionsButtonState: false, switchButtonState: true,
|
||||
openScmpButtonState: true, saveScmpButtonState: false, cancelCompareButtonState: false,
|
||||
selectSourceButtonState: true, selectTargetButtonState: true, generateScriptButtonState: false,
|
||||
applyButtonState: false} )).equal(true);
|
||||
result.verifyButtonsState( {
|
||||
compareButtonState: false,
|
||||
optionsButtonState: false,
|
||||
switchButtonState: true,
|
||||
openScmpButtonState: true,
|
||||
saveScmpButtonState: false,
|
||||
cancelCompareButtonState: false,
|
||||
selectSourceButtonState: true,
|
||||
selectTargetButtonState: true,
|
||||
generateScriptButtonState: false,
|
||||
applyButtonState: false
|
||||
} );
|
||||
});
|
||||
|
||||
it('Should set buttons appropriately when source and target endpoints are populated', async function (): Promise<void> {
|
||||
@@ -255,10 +270,18 @@ describe('SchemaCompareMainWindow.updateSourceAndTarget', function (): void {
|
||||
|
||||
result.updateSourceAndTarget();
|
||||
|
||||
should(result.verifyButtonsState( {compareButtonState: true, optionsButtonState: true, switchButtonState: true,
|
||||
openScmpButtonState: true, saveScmpButtonState: true, cancelCompareButtonState: false,
|
||||
selectSourceButtonState: true, selectTargetButtonState: true, generateScriptButtonState: false,
|
||||
applyButtonState: false} )).equal(true);
|
||||
result.verifyButtonsState( {
|
||||
compareButtonState: true,
|
||||
optionsButtonState: true,
|
||||
switchButtonState: true,
|
||||
openScmpButtonState: true,
|
||||
saveScmpButtonState: true,
|
||||
cancelCompareButtonState: false,
|
||||
selectSourceButtonState: true,
|
||||
selectTargetButtonState: true,
|
||||
generateScriptButtonState: false,
|
||||
applyButtonState: false
|
||||
} );
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user