All checks were successful
build-and-release / build (push) Successful in 2m15s
- middleware.ts: default GATEWAY_URL to localhost:9100 (was K8s hostname); proxy all /api/* to gateway instead of falling through to SolidStart renderer - signup/index.tsx: fix kebab-case style property (align-items) - dashboard/CreditsPage.tsx: fix IIFE closing in Show children - AskAsh/index.ts: use ~ alias to fix bundler module resolution - vite.config.ts: add string type to rewrite callback - global.d.ts: add Window.__captchaCode and __testMode declarations - help-center/article/[slug].tsx: add missing ContentBlock import - test/setup.ts: add vitest/globals reference, fix IntersectionObserver mock - tests/e2e: fix implicit any, string|null/undefined type errors in e2e specs - tests/tsconfig.json: add tests-specific tsconfig with node types Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
57 lines
1.4 KiB
TypeScript
57 lines
1.4 KiB
TypeScript
/// <reference types="vitest/globals" />
|
|
import "@testing-library/jest-dom";
|
|
import { beforeAll, afterEach, afterAll } from "vitest";
|
|
import { setupServer } from "msw/node";
|
|
import { http, HttpResponse } from "msw";
|
|
|
|
// Mock API responses
|
|
const server = setupServer(
|
|
http.get("/api/users/public", () => {
|
|
return HttpResponse.json([{ id: "1", name: "Public User", email: "user@example.com" }]);
|
|
}),
|
|
http.get("/api/jobs", () => {
|
|
return HttpResponse.json({
|
|
jobs: [{ id: "1", title: "Developer", status: "OPEN" }],
|
|
});
|
|
})
|
|
);
|
|
|
|
beforeAll(() => server.listen());
|
|
afterEach(() => server.resetHandlers());
|
|
afterAll(() => server.close());
|
|
|
|
// Mock window.matchMedia
|
|
Object.defineProperty(window, "matchMedia", {
|
|
writable: true,
|
|
value: vi.fn().mockImplementation((query) => ({
|
|
matches: false,
|
|
media: query,
|
|
onchange: null,
|
|
addListener: vi.fn(),
|
|
removeListener: vi.fn(),
|
|
addEventListener: vi.fn(),
|
|
removeEventListener: vi.fn(),
|
|
dispatchEvent: vi.fn(),
|
|
})),
|
|
});
|
|
|
|
// Mock IntersectionObserver
|
|
(global as any).IntersectionObserver = class IntersectionObserver {
|
|
root = null;
|
|
rootMargin = '';
|
|
scrollMargin = '';
|
|
thresholds: number[] = [];
|
|
constructor() {}
|
|
disconnect() {}
|
|
observe() {}
|
|
unobserve() {}
|
|
takeRecords() { return []; }
|
|
};
|
|
|
|
// Mock ResizeObserver
|
|
global.ResizeObserver = class ResizeObserver {
|
|
constructor() {}
|
|
observe() {}
|
|
unobserve() {}
|
|
disconnect() {}
|
|
};
|