findAzdata test fix (#11724)

* findAzdata test fix

* cleanup

* pr feedback
This commit is contained in:
Arvind Ranasaria
2020-08-10 16:07:47 -07:00
committed by GitHub
parent bc0753a95c
commit 3b38ba7e30

View File

@@ -26,14 +26,23 @@ describe('azdata', function () {
});
describe('findAzdata', function () {
// Mock call to --version to simulate azdata being installed
sinon.stub(childProcess, 'executeCommand').returns(Promise.resolve({ stdout: 'v1.0.0', stderr: '' }));
it('successful', async function (): Promise<void> {
sinon.stub(utils, 'searchForCmd').returns(Promise.resolve('C:\\path\\to\\azdata.cmd'));
if (process.platform === 'win32') {
// Mock searchForCmd to return a path to azdata.cmd
sinon.stub(utils, 'searchForCmd').returns(Promise.resolve('C:\\path\\to\\azdata.cmd'));
}
// Mock call to --version to simulate azdata being installed
sinon.stub(childProcess, 'executeCommand').returns(Promise.resolve({ stdout: 'v1.0.0', stderr: '' }));
await should(azdata.findAzdata(outputChannelMock.object)).not.be.rejected();
});
it('unsuccessful', async function (): Promise<void> {
sinon.stub(utils, 'searchForCmd').returns(Promise.reject(new Error('Could not find azdata')));
if (process.platform === 'win32') {
// Mock searchForCmd to return a failure to find azdata.cmd
sinon.stub(utils, 'searchForCmd').returns(Promise.reject(new Error('Could not find azdata')));
} else {
// Mock call to executeCommand to simulate azdata --version returning error
sinon.stub(childProcess, 'executeCommand').returns(Promise.reject({ stdout: '', stderr: 'command not found: azdata' }));
}
await should(azdata.findAzdata(outputChannelMock.object)).be.rejected();
});
});