1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/packages/utility-features/utilities/src/fatality-of-call/call-result/call-result.test.ts
Iku-turso 34f7d00877 feat: Introduce utils to handle if failing calls should throw
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
2023-05-24 17:20:46 +03:00

51 lines
1.2 KiB
TypeScript

import {
CallResult,
callWasFailure,
callWasSuccessful,
getFailure,
getSuccess,
} from "./call-result";
describe("call-result", () => {
it("given successful call, narrows type of response", () => {
const someSuccess: CallResult<string> = getSuccess("some-success");
if (callWasSuccessful(someSuccess)) {
expect(someSuccess.response).toBe("some-success");
}
expect.assertions(1);
});
it("given successful call, call is not failure", () => {
const actual = callWasFailure(getSuccess("some-success"));
expect(actual).toBe(false);
});
it("given unsuccessful call, narrows type of error", () => {
const someFailure: CallResult<string> = getFailure(
"some-error-code",
"some-cause"
);
if (callWasFailure(someFailure)) {
expect(someFailure.error).toEqual({
code: "some-error-code",
cause: "some-cause",
message: "some-cause",
});
}
expect.assertions(1);
});
it("given unsuccessful call, call is not successful", () => {
const actual = callWasSuccessful(
getFailure("some-error-code", "some-cause")
);
expect(actual).toBe(false);
});
});