Fix notebook kernel selection and auto-kernel-start (#254)

* Fix bug: cannot select kernel. Properly plug-in kernelspecs middleware to redux store configuration

* Properly auto-launch kernel with nteract's epic

* Keep kernel lazy start for notebook viewer

* Add unit tets
This commit is contained in:
Laurent Nguyen
2020-10-07 08:39:04 +02:00
committed by GitHub
parent 86d3f0d35d
commit 7dd046a15d
7 changed files with 102 additions and 110 deletions

View File

@@ -0,0 +1,48 @@
jest.mock("./NotebookComponent/store");
jest.mock("@nteract/core");
import { NotebookClientV2 } from "./NotebookClientV2";
import configureStore from "./NotebookComponent/store";
import { defineConfigOption } from "@nteract/mythic-configuration";
describe("auto start kernel", () => {
it("configure autoStartKernelOnNotebookOpen properly depending whether notebook is/is not read-only", async () => {
(configureStore as jest.Mock).mockReturnValue({
dispatch: () => {
/* noop */
}
});
defineConfigOption({
label: "editorType",
key: "editorType",
defaultValue: "foo"
});
defineConfigOption({
label: "autoSaveInterval",
key: "autoSaveInterval",
defaultValue: 1234
});
[true, false].forEach(isReadOnly => {
new NotebookClientV2({
connectionInfo: {
authToken: "autToken",
notebookServerEndpoint: "notebookServerEndpoint"
},
databaseAccountName: undefined,
defaultExperience: undefined,
isReadOnly,
contentProvider: undefined
});
expect(configureStore).toHaveBeenCalledWith(
expect.anything(), // initial state
undefined, // content provider
expect.anything(), // onTraceFailure
expect.anything(), // customMiddlewares
!isReadOnly
);
});
});
});