haveno-ui/packages/preload/tests/unit.spec.ts
Subir a9893aa853 chore(dev): app boilerplate
Electron, React, Vite app boilerplate

- license header
- pre-commit and commit-msg hooks
- storybook
- fix windows tests;
- fix linux build
- CI setup
- persistent store with electron-store and safeStorage
- localization with react-intl

Refs:
- https://github.com/haveno-dex/haveno-ui/projects/1#card-81001746
- https://github.com/haveno-dex/haveno-ui/projects/1#card-81001745

Authored-by: schowdhuri
Reviewed-by: localredhead
2022-04-23 22:21:06 +05:30

48 lines
1.7 KiB
TypeScript

// =============================================================================
// Copyright 2022 Haveno
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// =============================================================================
import { createHash } from "crypto";
import { afterEach, expect, test, vi } from "vitest";
const exposeInMainWorldMock = vi.fn();
vi.mock("electron", () => ({
contextBridge: { exposeInMainWorld: exposeInMainWorldMock },
}));
afterEach(() => {
vi.clearAllMocks();
});
test("versions", async () => {
await import("../src/versions");
expect(exposeInMainWorldMock).toBeCalledTimes(1);
expect(exposeInMainWorldMock).lastCalledWith("versions", process.versions);
});
test("nodeCrypto", async () => {
await import("../src/nodeCrypto");
expect(exposeInMainWorldMock).toBeCalledTimes(1);
expect(exposeInMainWorldMock.mock.calls[0][0]).toBe("nodeCrypto");
expect(exposeInMainWorldMock.mock.calls[0][1]).toHaveProperty("sha256sum");
const data = "rawData";
const expectedHash = createHash("sha256").update(data).digest("hex");
expect(exposeInMainWorldMock.mock.calls[0][1].sha256sum(data)).toBe(
expectedHash
);
});