# minimal-form example

A legkisebb projekt-szkeleton, amely a `@futdevpro/dynamo-e2e` form-generator-t
használja egy 3-mezős login form lefedéséhez.

## Felépítés

```
minimal-form/
├── README.md
├── form-config.json   ← a generator-input
└── e2e/
    └── tests/
        └── generated/
            └── login-form.spec.ts   ← a generator által kiadott teszt-suite
```

## Generálás

A package node_modules-ban telepített `dye2e` CLI-vel:

```bash
npx dye2e generate-form-suite \
  --config ./examples/minimal-form/form-config.json \
  --out    ./examples/minimal-form/e2e/tests/generated/login-form.spec.ts
```

Vagy közvetlenül a Node API-val:

```typescript
import { DyE2E_FormSuite_Generator } from '@futdevpro/dynamo-e2e/generators';
import * as fs from 'fs';

const config = JSON.parse(fs.readFileSync('form-config.json', 'utf-8'));
const spec = DyE2E_FormSuite_Generator.emit(config);
fs.writeFileSync('e2e/tests/generated/login-form.spec.ts', spec);
```

## Futtatás

```bash
npx playwright test e2e/tests/generated/login-form.spec.ts
```

## Mit fed le a generated suite

A `form-config.json` `formSettings.fields` 3 fieldjéből (email, password,
rememberMe) **kb. 30-40 teszt-case** generálódik:

- email field: empty, ascii, unicode, emoji, xss-tag, sql-shape, oversize, …
- password field: empty, ascii, undersize (minLength=8), xss-tag, oversize, …
- rememberMe checkbox: toggle-once, toggle-twice, required-unchecked, …
- Form-level: submit-empty, submit-valid, disabled

Plus 3 form-level orchestrator-test.
