Get tests passing

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton committed 2023-01-10 15:18:10 -05:00
1 parent 2de306810e
commit d293554c42
37 files changed
+612 -225

No files matched your search

@@ -0,0 +1,11 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getGlobalOverride } from "../test-utils/get-global-override";
import changePathModeInjectable from "./change-path-mode.injectable";
export default getGlobalOverride(changePathModeInjectable, () => () => {
throw new Error("tried to change path mode without override");
});
@@ -0,0 +1,16 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
import fsInjectable from "./fs.injectable";
export type ChangePathMode = (path: string, newMode: number) => Promise<void>;
const changePathModeInjectable = getInjectable({
id: "change-path-mode",
instantiate: (di): ChangePathMode => di.inject(fsInjectable).chmod,
});
export default changePathModeInjectable;
@@ -0,0 +1,11 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getGlobalOverride } from "../test-utils/get-global-override";
import copyFileInjectable from "./copy-file.injectable";
export default getGlobalOverride(copyFileInjectable, () => () => {
throw new Error("tried to copy a file without override");
});
+15
View File
@@ -0,0 +1,15 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
import fsInjectable from "./fs.injectable";
export type CopyFile = (fromPath: string, toPath: string) => Promise<void>;
const copyFileInjectable = getInjectable({
id: "copy-file",
instantiate: (di): CopyFile => di.inject(fsInjectable).copyFile,
});
export default copyFileInjectable;
@@ -0,0 +1,17 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
import type { createWriteStream } from "fs";
import fsInjectable from "./fs.injectable";
export type CreateWriteFileStream = typeof createWriteStream;
const createWriteFileStreamInjectable = getInjectable({
id: "create-write-file-stream",
instantiate: (di) => di.inject(fsInjectable).createWriteStream,
});
export default createWriteFileStreamInjectable;
@@ -0,0 +1,11 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getGlobalOverride } from "../test-utils/get-global-override";
import createWriteFileStreamInjectable from "./create-write-file-stream.injectable";
export default getGlobalOverride(createWriteFileStreamInjectable, () => () => {
throw new Error("tried to create a file write stream without override");
});
@@ -0,0 +1,11 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getGlobalOverride } from "../test-utils/get-global-override";
import ensureDirectoryInjectable from "./ensure-directory.injectable";
export default getGlobalOverride(ensureDirectoryInjectable, () => async () => {
throw new Error("tried to ensure directory without override");
});
@@ -3,11 +3,12 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
import type { EnsureOptions } from "fs-extra";
import fsInjectable from "./fs.injectable";
export type EnsureDirectory = (dirPath: string) => Promise<void>;
export type EnsureDirectory = (dirPath: string, options?: number | EnsureOptions) => Promise<void>;
const ensureDirInjectable = getInjectable({
const ensureDirectoryInjectable = getInjectable({
id: "ensure-dir",
// TODO: Remove usages of ensureDir from business logic.
@@ -15,4 +16,4 @@ const ensureDirInjectable = getInjectable({
instantiate: (di): EnsureDirectory => di.inject(fsInjectable).ensureDir,
});
export default ensureDirInjectable;
export default ensureDirectoryInjectable;
@@ -0,0 +1,10 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import path from "path";
import { getGlobalOverride } from "../test-utils/get-global-override";
import pathDelimiterInjectable from "./delimiter.injectable";
export default getGlobalOverride(pathDelimiterInjectable, () => path.posix.delimiter);
+14
View File
@@ -0,0 +1,14 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
import path from "path";
const pathDelimiterInjectable = getInjectable({
id: "path-delimiter",
instantiate: () => path.delimiter,
causesSideEffects: true,
});
export default pathDelimiterInjectable;
+4
View File
@@ -9,3 +9,7 @@ export type AsyncResult<Response, Error = string> =
: { callWasSuccessful: true; response: Response }
)
| { callWasSuccessful: false; error: Error };
export type Result<Response, Error = string> =
| { callWasSuccessful: true; response: Response }
| { callWasSuccessful: false; error: Error };
+2 -2
View File
@@ -2,11 +2,11 @@
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import type { IComputedValue } from "mobx";
import type { IComputedValue, IObservableValue } from "mobx";
import { runInAction, when } from "mobx";
import type { Disposer } from "./disposer";
export async function waitUntilDefined<T>(getter: (() => T | null | undefined) | IComputedValue<T | null | undefined>, opts?: { timeout?: number }): Promise<T> {
export async function waitUntilDefined<T>(getter: (() => T | null | undefined) | IComputedValue<T | null | undefined> | IObservableValue<T | null | undefined>, opts?: { timeout?: number }): Promise<T> {
return new Promise<T>((resolve, reject) => {
when(
() => {