Add tests for custom error classes

This commit is contained in:
Fred Boniface 2025-03-13 20:24:54 +00:00
parent 05bbd0b6c2
commit 0aca569c31

32
src/errors.test.ts Normal file
View File

@ -0,0 +1,32 @@
import { ApiError, ValidationError, NetworkError } from "./errors";
describe("Custom Error Class Tests", () => {
test("ApiError should store message, statusCode and responseBody", () => {
const error = new ApiError("API Request failed", 404, "Not Found");
expect(error).toBeInstanceOf(ApiError);
expect(error).toBeInstanceOf(Error);
expect(error.name).toBe("ApiError");
expect(error.message).toBe("API Request failed");
expect(error.statusCode).toBe(404);
expect(error.responseBody).toBe("Not Found");
})
test("ValidationError should store message", () => {
const error = new ValidationError("Invalid input");
expect(error).toBeInstanceOf(ValidationError);
expect(error).toBeInstanceOf(Error);
expect(error.name).toBe("ValidationError");
expect(error.message).toBe("Invalid input");
})
test("NetworkError should store message", () => {
const error = new NetworkError("Network Unreachable");
expect(error).toBeInstanceOf(NetworkError);
expect(error).toBeInstanceOf(Error);
expect(error.name).toBe("NetworkError");
expect(error.message).toBe("Network Unreachable");
})
})