Utilisation

Test a form

tsx
import { Button, Text, TextField, VStack, signal } from 'kuito';
import { assert, press, render, screen, test, type } from 'kuito/tests';

function SignIn() {
  const email = signal('');
  const error = signal('');
  return (
    <VStack>
      <TextField label="Email" value={email} />
      <Button onPress={() => (error.value = email.value.includes('@') ? '' : 'Invalid email')}>
        Sign in
      </Button>
      <Text>{error.value}</Text>
    </VStack>
  );
}

test('a malformed email shows an error', async () => {
  await render(<SignIn />);

  await type(screen.getByRole('textbox', { name: 'Email' }), 'ada');
  await press(screen.getByRole('button', { name: 'Sign in' }));

  assert.ok(screen.getByText('Invalid email'));
});

Signatures

ts
(view: TestView, text: string): Promise<void>

Paramètres

NomTypeRequisDescription
viewTestViewOui—
textstringOui—

Retourne

Promise<void>

Généré depuis les déclarations TypeScript publiques : signatures, props et valeurs par défaut viennent de la source vérifiée, les descriptions de sa JSDoc. Aucune valeur par défaut n'est inventée.