tests.FetchHandler
Answers the app's requests. Plain data both ways: the app's realm has
Kuito's own fetch, not Node's Request and Response.
Verwendung
Handle requests in a screen test.
// Handle requests in a screen test.
import { Text, resource } from 'kuito';
import { assert, render, screen, test, type FetchHandler } from 'kuito/tests';
// A tiny fake server: answers by path, 404 for the rest.
const api: FetchHandler = (request) => {
const path = new URL(request.url).pathname;
if (path === '/me')
return { headers: { 'Content-Type': 'application/json' }, body: '{"name":"Ana"}' };
return { status: 404 };
};
function Greeting() {
const me = resource(async () => {
const response = await fetch('https://api.example.com/me');
return ((await response.json()) as { name: string }).name;
});
return <Text>{`Hi, ${me.data.value ?? '…'}`}</Text>;
}
test('greets the signed-in user', async () => {
await render(<Greeting />, { fetch: api });
assert.ok(screen.getByText('Hi, Ana'));
});Typdeklaration
export type FetchHandler = (request: FetchRequest) => FetchAnswer | Promise<FetchAnswer>;Typ
(request: FetchRequest) => FetchAnswer | Promise<FetchAnswer>Generiert aus den öffentlichen TypeScript-Deklarationen: Signaturen, Props und Standardwerte stammen aus der geprüften Quelle, Beschreibungen aus deren JSDoc. Kein Standardwert ist erfunden.