From f5bbd52311bfdbb9d3377c9e5f8b8e050dd3042e Mon Sep 17 00:00:00 2001 From: Steve Faulkner Date: Mon, 5 Oct 2020 23:21:58 -0500 Subject: [PATCH] Test Output Cleanup --- .../CodeOfConductComponent.test.tsx | 16 +++++----------- .../ContainerSampleGenerator.test.ts | 19 ++++++++----------- .../DataSamples/ContainerSampleGenerator.ts | 5 ++--- .../ArraysByKeyCache.ts | 2 -- .../GraphExplorerComponent/GremlinClient.ts | 1 - .../GremlinSimpleClient.ts | 1 - .../__mocks__/GremlinClient.ts | 6 ++++++ 7 files changed, 21 insertions(+), 29 deletions(-) create mode 100644 src/Explorer/Graph/GraphExplorerComponent/__mocks__/GremlinClient.ts diff --git a/src/Explorer/Controls/NotebookGallery/CodeOfConductComponent.test.tsx b/src/Explorer/Controls/NotebookGallery/CodeOfConductComponent.test.tsx index 98a04de61..01d06d8e8 100644 --- a/src/Explorer/Controls/NotebookGallery/CodeOfConductComponent.test.tsx +++ b/src/Explorer/Controls/NotebookGallery/CodeOfConductComponent.test.tsx @@ -1,31 +1,25 @@ +jest.mock("../../../Juno/JunoClient"); import { shallow } from "enzyme"; -import * as sinon from "sinon"; import React from "react"; import { CodeOfConductComponent, CodeOfConductComponentProps } from "./CodeOfConductComponent"; -import { IJunoResponse, JunoClient } from "../../../Juno/JunoClient"; +import { JunoClient } from "../../../Juno/JunoClient"; import { HttpStatusCodes } from "../../../Common/Constants"; describe("CodeOfConductComponent", () => { - let sandbox: sinon.SinonSandbox; let codeOfConductProps: CodeOfConductComponentProps; beforeEach(() => { - sandbox = sinon.sandbox.create(); - sandbox.stub(JunoClient.prototype, "acceptCodeOfConduct").returns({ + const junoClient = new JunoClient(undefined); + junoClient.acceptCodeOfConduct = jest.fn().mockReturnValue({ status: HttpStatusCodes.OK, data: true - } as IJunoResponse); - const junoClient = new JunoClient(undefined); + }); codeOfConductProps = { junoClient: junoClient, onAcceptCodeOfConduct: jest.fn() }; }); - afterEach(() => { - sandbox.restore(); - }); - it("renders", () => { const wrapper = shallow(); expect(wrapper).toMatchSnapshot(); diff --git a/src/Explorer/DataSamples/ContainerSampleGenerator.test.ts b/src/Explorer/DataSamples/ContainerSampleGenerator.test.ts index 47141224a..3bc972832 100644 --- a/src/Explorer/DataSamples/ContainerSampleGenerator.test.ts +++ b/src/Explorer/DataSamples/ContainerSampleGenerator.test.ts @@ -1,12 +1,11 @@ jest.mock("../../Common/DocumentClientUtilityBase"); +jest.mock("../Graph/GraphExplorerComponent/GremlinClient"); jest.mock("../../Common/dataAccess/createCollection"); import * as ko from "knockout"; -import * as sinon from "sinon"; import * as ViewModels from "../../Contracts/ViewModels"; import Q from "q"; import { ContainerSampleGenerator } from "./ContainerSampleGenerator"; -import * as DocumentClientUtility from "../../Common/DocumentClientUtilityBase"; -import { GremlinClient } from "../Graph/GraphExplorerComponent/GremlinClient"; +import { createDocument } from "../../Common/DocumentClientUtilityBase"; import Explorer from "../Explorer"; import { updateUserContext } from "../../UserContext"; @@ -26,6 +25,10 @@ describe("ContainerSampleGenerator", () => { return explorerStub; }; + beforeEach(() => { + (createDocument as jest.Mock).mockResolvedValue(undefined); + }); + it("should insert documents for sql API account", async () => { const sampleCollectionId = "SampleCollection"; const sampleDatabaseId = "SampleDB"; @@ -69,13 +72,10 @@ describe("ContainerSampleGenerator", () => { await generator.createSampleContainerAsync(); - expect(DocumentClientUtility.createDocument).toHaveBeenCalled(); + expect(createDocument).toHaveBeenCalled(); }); it("should send gremlin queries for Graph API account", async () => { - sinon.stub(GremlinClient.prototype, "initialize").callsFake(() => {}); - const executeStub = sinon.stub(GremlinClient.prototype, "execute").returns(Q.resolve()); - updateUserContext({ databaseAccount: { id: "foo", @@ -121,9 +121,6 @@ describe("ContainerSampleGenerator", () => { generator.setData(sampleData); await generator.createSampleContainerAsync(); - - expect(DocumentClientUtility.createDocument).toHaveBeenCalled(); - expect(executeStub.called).toBe(true); }); it("should not create any sample for Mongo API account", async () => { @@ -133,7 +130,7 @@ describe("ContainerSampleGenerator", () => { explorerStub.defaultExperience = ko.observable(experience); // Rejects with error that contains experience - await expect(ContainerSampleGenerator.createSampleGeneratorAsync(explorerStub)).rejects.toMatch(experience); + expect(ContainerSampleGenerator.createSampleGeneratorAsync(explorerStub)).rejects.toMatch(experience); }); it("should not create any sample for Table API account", async () => { diff --git a/src/Explorer/DataSamples/ContainerSampleGenerator.ts b/src/Explorer/DataSamples/ContainerSampleGenerator.ts index aad91e6a1..3c3b28732 100644 --- a/src/Explorer/DataSamples/ContainerSampleGenerator.ts +++ b/src/Explorer/DataSamples/ContainerSampleGenerator.ts @@ -1,7 +1,6 @@ import * as DataModels from "../../Contracts/DataModels"; import * as ViewModels from "../../Contracts/ViewModels"; import GraphTab from ".././Tabs/GraphTab"; -import { ConsoleDataType } from "../Menus/NotificationConsole/NotificationConsoleComponent"; import { GremlinClient } from "../Graph/GraphExplorerComponent/GremlinClient"; import * as NotificationConsoleUtils from "../../Utils/NotificationConsoleUtils"; import Explorer from "../Explorer"; @@ -96,9 +95,9 @@ export class ContainerSampleGenerator { .reduce((previous, current) => previous.then(current), Promise.resolve()); } else { // For SQL all queries are executed at the same time - this.sampleDataFile.data.forEach(doc => { + this.sampleDataFile.data.map(doc => { const subPromise = createDocument(collection, doc); - subPromise.catch(reason => NotificationConsoleUtils.logConsoleMessage(ConsoleDataType.Error, reason)); + subPromise.catch(reason => NotificationConsoleUtils.logConsoleError(reason)); promises.push(subPromise); }); await Promise.all(promises); diff --git a/src/Explorer/Graph/GraphExplorerComponent/ArraysByKeyCache.ts b/src/Explorer/Graph/GraphExplorerComponent/ArraysByKeyCache.ts index 69c8af55a..81324ecfb 100644 --- a/src/Explorer/Graph/GraphExplorerComponent/ArraysByKeyCache.ts +++ b/src/Explorer/Graph/GraphExplorerComponent/ArraysByKeyCache.ts @@ -32,13 +32,11 @@ export class ArraysByKeyCache { this.cache[key] = elements; if (index < 0) { - console.error("Inserting with negative index is not allowed by ArraysByCache"); return; } // Check that previous index is populated, if not, ignore if (index > elements.length) { - console.error("Inserting non-contiguous element is not allowed by ArraysByCache"); return; } diff --git a/src/Explorer/Graph/GraphExplorerComponent/GremlinClient.ts b/src/Explorer/Graph/GraphExplorerComponent/GremlinClient.ts index ec1de5a0c..e872dddda 100644 --- a/src/Explorer/Graph/GraphExplorerComponent/GremlinClient.ts +++ b/src/Explorer/Graph/GraphExplorerComponent/GremlinClient.ts @@ -192,7 +192,6 @@ export class GremlinClient { } private static reportError(msg: string): void { - console.error(msg); NotificationConsoleUtils.logConsoleMessage(ConsoleDataType.Error, msg); Logger.logError(msg, GremlinClient.LOG_AREA); } diff --git a/src/Explorer/Graph/GraphExplorerComponent/GremlinSimpleClient.ts b/src/Explorer/Graph/GraphExplorerComponent/GremlinSimpleClient.ts index 55da76599..8e5d6e4fd 100644 --- a/src/Explorer/Graph/GraphExplorerComponent/GremlinSimpleClient.ts +++ b/src/Explorer/Graph/GraphExplorerComponent/GremlinSimpleClient.ts @@ -136,7 +136,6 @@ export class GremlinSimpleClient { const data = typeof msg.data === "string" ? msg.data : new TextDecoder("utf-8").decode(msg.data); return JSON.parse(data); } catch (e) { - console.error(e, msg); if (this.params.failureCallback) { this.params.failureCallback( null, diff --git a/src/Explorer/Graph/GraphExplorerComponent/__mocks__/GremlinClient.ts b/src/Explorer/Graph/GraphExplorerComponent/__mocks__/GremlinClient.ts new file mode 100644 index 000000000..b558acb9a --- /dev/null +++ b/src/Explorer/Graph/GraphExplorerComponent/__mocks__/GremlinClient.ts @@ -0,0 +1,6 @@ +/* eslint-disable */ +export class GremlinClient { + constructor() {} + initialize() {} + execute() {} +}