Fix book tests on Windows. (#14173)

* fix tests

* fix reveal active item test

* show error message

* revert trusted book test back to original
This commit is contained in:
Barbara Valdez
2021-02-05 10:45:59 -08:00
committed by GitHub
parent 49fa56369c
commit 3c4ffd2a9c
3 changed files with 9 additions and 11 deletions

View File

@@ -253,7 +253,8 @@ export class BookModel {
);
notebooks.push(markdown);
} else {
this._errorMessage = loc.missingFileError(sections[i].title, root);
this._errorMessage = loc.missingFileError(sections[i].title, book.title);
vscode.window.showErrorMessage(this._errorMessage);
}
}
}

View File

@@ -242,7 +242,7 @@ describe('BooksTreeViewTests', function () {
});
it('revealActiveDocumentInViewlet should return correct bookItem for highlight', async () => {
let notebook1Path = path.join(rootFolderPath, 'Book', 'content', 'notebook1.ipynb');
let notebook1Path = vscode.Uri.file(path.join(rootFolderPath, 'Book', 'content', 'notebook1.ipynb')).fsPath;
let currentSelection = await bookTreeViewProvider.findAndExpandParentNode(notebook1Path);
equalBookItems(currentSelection, expectedNotebook1);
});
@@ -653,7 +653,7 @@ describe('BooksTreeViewTests', function () {
it('should show error if notebook or markdown file is missing', async function (): Promise<void> {
let books: BookTreeItem[] = bookTreeViewProvider.currentBook.bookItems;
let children = await bookTreeViewProvider.currentBook.getSections({ sections: [] }, books[0].sections, rootFolderPath, books[0].book);
should(bookTreeViewProvider.currentBook.errorMessage).equal('Missing file : Notebook1 from '.concat(bookTreeViewProvider.currentBook.bookPath));
should(bookTreeViewProvider.currentBook.errorMessage).equal('Missing file : Notebook1 from '.concat(bookTreeViewProvider.currentBook.bookItems[0].title));
// rest of book should be detected correctly even with a missing file
equalBookItems(children[0], expectedNotebook2);
});
@@ -798,11 +798,12 @@ describe('BooksTreeViewTests', function () {
});
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)]));
const uri = vscode.Uri.file(rootFolderPath);
sinon.stub(vscode.window, 'showOpenDialog').returns(Promise.resolve([uri]));
let loadNotebooksSpy = sinon.spy(bookTreeViewProvider, 'loadNotebooksInFolder');
await bookTreeViewProvider.openNotebookFolder();
should(loadNotebooksSpy.calledWith(rootFolderPath)).be.true('openNotebookFolder should have called loadNotebooksInFolder passing the folderPath');
should(loadNotebooksSpy.calledWith(uri.fsPath)).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 () => {

View File

@@ -16,7 +16,6 @@ import * as rimraf from 'rimraf';
import { promisify } from 'util';
import { BookModel } from '../../book/bookModel';
import { MockExtensionContext } from '../common/stubs';
import { BookVersion } from '../../book/bookVersionHandler';
import { BookTreeViewProvider } from '../../book/bookTreeView';
import { NavigationProviders } from '../../common/constants';
import * as loc from '../../common/localizedConstants';
@@ -517,11 +516,8 @@ describe('BookTocManagerTests', function () {
await bookTocManager.updateBook(notebook, targetBook);
await bookTocManager.updateBook(duplicatedNotebook, targetBook);
const listFiles = await fs.promises.readdir(run.targetBook.bookContentFolderPath);
if (run.version === BookVersion.v1) {
should(JSON.stringify(listFiles)).be.equal(JSON.stringify(['notebook5 - 2.ipynb', 'notebook5.ipynb', 'sectionC']), 'Should modify the name of the file');
} else {
should(JSON.stringify(listFiles)).be.equal(JSON.stringify(['_config.yml', '_toc.yml', 'notebook5 - 2.ipynb', 'notebook5.ipynb', 'sectionC']), 'Should modify the name of the file');
}
should(JSON.stringify(listFiles).includes('notebook5 - 2.ipynb')).be.true('Should rename the notebook to notebook5 - 2.ipynb');
should(JSON.stringify(listFiles).includes('notebook5.ipynb')).be.true('Should keep notebook5.ipynb');
});
it('Recovery method is called after error', async () => {