35 lines
1.3 KiB
Markdown
35 lines
1.3 KiB
Markdown
# XInvoice Test Suite
|
|
|
|
This directory contains tests for the XInvoice library.
|
|
|
|
## Running Tests
|
|
|
|
Use the test runner to run the test suite:
|
|
|
|
```bash
|
|
tsx test/run-tests.ts
|
|
```
|
|
|
|
## Test Structure
|
|
|
|
- **PDF Export Tests** (`test.pdf-export.ts`): Test PDF export functionality with embedded XML for different formats.
|
|
- Verifies the exported PDF structure contains proper embedded files
|
|
- Tests type safety of format parameters
|
|
- Confirms invoice items are properly included during export
|
|
- Checks format-specific XML structures
|
|
|
|
- **Circular Encoding/Decoding Tests** (`test.circular-encoding-decoding.ts`): Test the encoding and decoding of invoice data.
|
|
- Tests full circular process: original → XML → import → export → reimport
|
|
- Verifies data preservation through multiple conversions
|
|
- Tests special character handling
|
|
- Tests variations in invoice content (different items, etc.)
|
|
|
|
## Test Data
|
|
|
|
The test suite uses sample data files from:
|
|
- `test/assets/getasset.ts`: Utility for loading test assets
|
|
- `test/assets/letter`: Sample invoice data
|
|
|
|
## Known Issues
|
|
|
|
The circular validation tests (`test.circular-validation.ts`) currently have type compatibility issues and are not included in the automated test run. These will be addressed in a future update. |