mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-25 17:23:10 -05:00
Fix/open book error (#11379)
* add isNotebook param and showPreview option * showPreview changes * update OpenNotebookFolder to open a specific path * added test for showPreviewFile * test name typo * remove isNotebook from openBook
This commit is contained in:
@@ -525,8 +525,21 @@ describe('BooksTreeViewTests', function () {
|
||||
|
||||
it('should add book and initialize book on openBook', async () => {
|
||||
should(bookTreeViewProvider.books.length).equal(0, 'Invalid books on initialize.');
|
||||
|
||||
let showPreviewSpy = sinon.spy(bookTreeViewProvider, 'showPreviewFile');
|
||||
|
||||
await bookTreeViewProvider.openBook(rootFolderPath);
|
||||
should(bookTreeViewProvider.books.length).equal(1, 'Failed to initialize the book on open');
|
||||
should(showPreviewSpy.notCalled).be.true('Should not call showPreviewFile when showPreview isn\' true');
|
||||
});
|
||||
|
||||
it('should call showPreviewFile on openBook when showPreview flag is set', async () => {
|
||||
await bookTreeViewProvider.closeBook(bookTreeViewProvider.books[0].bookItems[0]);
|
||||
let showPreviewSpy = sinon.spy(bookTreeViewProvider, 'showPreviewFile');
|
||||
|
||||
await bookTreeViewProvider.openBook(rootFolderPath, undefined, true);
|
||||
should(bookTreeViewProvider.books.length).equal(1, 'Failed to initialize the book on open');
|
||||
should(showPreviewSpy.calledOnce).be.true('Should have called showPreviewFile.');
|
||||
});
|
||||
|
||||
it('should add book when bookPath contains special characters on openBook', async () => {
|
||||
@@ -554,11 +567,20 @@ describe('BooksTreeViewTests', function () {
|
||||
should(notebookUri.scheme).equal('untitled', 'Failed to get untitled uri of the resource');
|
||||
});
|
||||
|
||||
it('openNotebookFolder should prompt for notebook path and invoke loadNotebooksInFolder', async () => {
|
||||
it('openNotebookFolder without folderPath should prompt for folder path and invoke loadNotebooksInFolder', async () => {
|
||||
sinon.stub(vscode.window, 'showOpenDialog').returns(Promise.resolve([vscode.Uri.file(rootFolderPath)]));
|
||||
let loadNotebooksSpy = sinon.spy(bookTreeViewProvider, 'loadNotebooksInFolder');
|
||||
await bookTreeViewProvider.openNotebookFolder();
|
||||
|
||||
should(loadNotebooksSpy.calledWith(rootFolderPath)).be.true('openNotebookFolder should have called loadNotebooksInFolder passing the folderPath');
|
||||
});
|
||||
|
||||
it('openNotebookFolder with folderPath shouldn\'t prompt for folder path but invoke loadNotebooksInFolder with the provided folderPath', async () => {
|
||||
let showOpenDialogSpy = sinon.spy(vscode.window, 'showOpenDialog');
|
||||
let loadNotebooksSpy = sinon.spy(bookTreeViewProvider, 'loadNotebooksInFolder');
|
||||
await bookTreeViewProvider.openNotebookFolder(rootFolderPath);
|
||||
|
||||
should(showOpenDialogSpy.notCalled).be.true('openNotebookFolder with folderPath shouldn\'t prompt to select folder');
|
||||
should(loadNotebooksSpy.calledOnce).be.true('openNotebookFolder should have called loadNotebooksInFolder');
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user