Bumps [@faker-js/faker](https://github.com/faker-js/faker) from 9.9.0 to 10.5.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/faker-js/faker/releases">@faker-js/faker's releases</a>.</em></p> <blockquote> <h2>v10.5.0</h2> <h2>What's Changed</h2> <ul> <li>docs: fix contribution git commands by <a href="https://github.com/hiSandog"><code>@hiSandog</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3770">faker-js/faker#3770</a></li> <li>infra: trusted publishing via OIDC token by <a href="https://github.com/Shinigami92"><code>@Shinigami92</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3743">faker-js/faker#3743</a></li> <li>docs: add favicon by <a href="https://github.com/ST-DDT"><code>@ST-DDT</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/2853">faker-js/faker#2853</a></li> <li>chore(deps): update eslint (major) by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/faker-js/faker/pull/3753">faker-js/faker#3753</a></li> <li>infra: migrate to tsdown by <a href="https://github.com/Shinigami92"><code>@Shinigami92</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3558">faker-js/faker#3558</a></li> <li>chore(deps): update all non-major dependencies by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/faker-js/faker/pull/3776">faker-js/faker#3776</a></li> <li>chore(deps): update codecov/codecov-action action to v6 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/faker-js/faker/pull/3777">faker-js/faker#3777</a></li> <li>chore(deps): update dependency typescript-eslint to v8.57.2 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/faker-js/faker/pull/3778">faker-js/faker#3778</a></li> <li>chore(deps): update vitest by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/faker-js/faker/pull/3779">faker-js/faker#3779</a></li> <li>chore(deps): update dependency typescript-eslint to v8.58.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/faker-js/faker/pull/3780">faker-js/faker#3780</a></li> <li>chore(deps): update devdependencies by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/faker-js/faker/pull/3781">faker-js/faker#3781</a></li> <li>docs: instructions to solve v10 compatibility issues with jest by <a href="https://github.com/pkuczynski"><code>@pkuczynski</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3616">faker-js/faker#3616</a></li> <li>infra: update cypress config by <a href="https://github.com/Shinigami92"><code>@Shinigami92</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3782">faker-js/faker#3782</a></li> <li>fix(locale): changed farsi phone locales to correct ones by <a href="https://github.com/Javid-Izadfar"><code>@Javid-Izadfar</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3775">faker-js/faker#3775</a></li> <li>feat(location): add postal address generation by <a href="https://github.com/matthewmayer"><code>@matthewmayer</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3760">faker-js/faker#3760</a></li> <li>feat(locale): add sl_SI locale, location module by <a href="https://github.com/ZigaVukcevicDev"><code>@ZigaVukcevicDev</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3652">faker-js/faker#3652</a></li> <li>fix(locale): phone numbers for en_AU by <a href="https://github.com/hiSandog"><code>@hiSandog</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3788">faker-js/faker#3788</a></li> <li>feat(phone): mobile style for phone.number by <a href="https://github.com/matthewmayer"><code>@matthewmayer</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3583">faker-js/faker#3583</a></li> <li>fix(locale): typo in de_CH last name by <a href="https://github.com/rbuetzer"><code>@rbuetzer</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3799">faker-js/faker#3799</a></li> <li>chore(deps): lock file maintenance by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/faker-js/faker/pull/3774">faker-js/faker#3774</a></li> <li>feat(locale): add Farsi airline module locale by <a href="https://github.com/Javid-Izadfar"><code>@Javid-Izadfar</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3789">faker-js/faker#3789</a></li> <li>feat(date): add ability to provide year range for <code>past</code> and <code>future</code> by <a href="https://github.com/xDivisionByZerox"><code>@xDivisionByZerox</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3783">faker-js/faker#3783</a></li> <li>feat(locale): add mn_MN_cyrl (Mongolian) locale by <a href="https://github.com/btseee"><code>@btseee</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3796">faker-js/faker#3796</a></li> <li>feat: introduce FakerCore by <a href="https://github.com/ST-DDT"><code>@ST-DDT</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/2838">faker-js/faker#2838</a></li> <li>docs: fix typo in internet.mac parameter by <a href="https://github.com/ST-DDT"><code>@ST-DDT</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3801">faker-js/faker#3801</a></li> <li>chore: reformat person.bio by <a href="https://github.com/ST-DDT"><code>@ST-DDT</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3803">faker-js/faker#3803</a></li> <li>fix(food): correct fruit and vegetable locale data by <a href="https://github.com/hiSandog"><code>@hiSandog</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3800">faker-js/faker#3800</a></li> <li>feat(locale): improved en_IE postal_address by <a href="https://github.com/matthewmayer"><code>@matthewmayer</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3797">faker-js/faker#3797</a></li> <li>feat(locale): Add postal_address and improved secondary_address for es by <a href="https://github.com/matthewmayer"><code>@matthewmayer</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3798">faker-js/faker#3798</a></li> <li>docs(image): remove deprecated urlLoremFlickr from module overview by <a href="https://github.com/hiSandog"><code>@hiSandog</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3807">faker-js/faker#3807</a></li> <li>fix: link release checklist in release PR workflow by <a href="https://github.com/hiSandog"><code>@hiSandog</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3802">faker-js/faker#3802</a></li> <li>chore(deps): lock file maintenance by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/faker-js/faker/pull/3806">faker-js/faker#3806</a></li> <li>chore(deps): update dependency sanitize-html to v2.17.3 [security] by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/faker-js/faker/pull/3814">faker-js/faker#3814</a></li> <li>feat(number): add distributor functions by <a href="https://github.com/ST-DDT"><code>@ST-DDT</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3375">faker-js/faker#3375</a></li> <li>refactor(location): simplify locale access by <a href="https://github.com/ST-DDT"><code>@ST-DDT</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3809">faker-js/faker#3809</a></li> <li>test(person): cleanup tests by <a href="https://github.com/ST-DDT"><code>@ST-DDT</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3804">faker-js/faker#3804</a></li> <li>chore: import types from the source file directly by <a href="https://github.com/ST-DDT"><code>@ST-DDT</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3805">faker-js/faker#3805</a></li> <li>docs(image): link to tracking issue by <a href="https://github.com/ST-DDT"><code>@ST-DDT</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3815">faker-js/faker#3815</a></li> <li>docs: render multiple <a href="https://github.com/example"><code>@example</code></a> blocks as tabbed code groups by <a href="https://github.com/Shinigami92"><code>@Shinigami92</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3817">faker-js/faker#3817</a></li> <li>feat(locale): Add more realistic Greek address data by <a href="https://github.com/matthewmayer"><code>@matthewmayer</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3792">faker-js/faker#3792</a></li> <li>fix(finance): routingNumber now uses real FederalReserveRoutingSymbol from lookup table. by <a href="https://github.com/woldaker"><code>@woldaker</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3429">faker-js/faker#3429</a></li> <li>feat(locale): add color to cy by <a href="https://github.com/IestynGage"><code>@IestynGage</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3816">faker-js/faker#3816</a></li> <li>fix(locale): remove citation brackets from snake names by <a href="https://github.com/AustralianRaven"><code>@AustralianRaven</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3822">faker-js/faker#3822</a></li> <li>fix(helpers): ignore wrapper characters in fromRegExp by <a href="https://github.com/ST-DDT"><code>@ST-DDT</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3795">faker-js/faker#3795</a></li> <li>refactor(core): expose core.locale as LocaleProxy by <a href="https://github.com/ST-DDT"><code>@ST-DDT</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3820">faker-js/faker#3820</a></li> <li>docs: fix typos in jsdocs by <a href="https://github.com/ST-DDT"><code>@ST-DDT</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3823">faker-js/faker#3823</a></li> <li>feat(locale): add Welsh (cy) sex definitions by <a href="https://github.com/IestynGage"><code>@IestynGage</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3824">faker-js/faker#3824</a></li> <li>docs: change link in GitHub PR template by <a href="https://github.com/IestynGage"><code>@IestynGage</code></a> in <a href="https://redirect.github.com/faker-js/faker/pull/3826">faker-js/faker#3826</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/faker-js/faker/blob/next/CHANGELOG.md">@faker-js/faker's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/faker-js/faker/compare/v10.4.0...v10.5.0">10.5.0</a> (2026-06-17)</h2> <h3>New Locales</h3> <ul> <li><strong>locale:</strong> add color to cy (<a href="https://redirect.github.com/faker-js/faker/issues/3816">#3816</a>) (<a href="5a6379f280">5a6379f</a>)</li> <li><strong>locale:</strong> add Farsi airline module locale (<a href="https://redirect.github.com/faker-js/faker/issues/3789">#3789</a>) (<a href="f4a1c3e51a">f4a1c3e</a>)</li> <li><strong>locale:</strong> add mn_MN_cyrl (Mongolian) locale (<a href="https://redirect.github.com/faker-js/faker/issues/3796">#3796</a>) (<a href="d17c0f1fe2">d17c0f1</a>)</li> <li><strong>locale:</strong> Add more realistic Greek address data (<a href="https://redirect.github.com/faker-js/faker/issues/3792">#3792</a>) (<a href="6153eb7768">6153eb7</a>)</li> <li><strong>locale:</strong> Add postal_address and improved secondary_address for es (<a href="https://redirect.github.com/faker-js/faker/issues/3798">#3798</a>) (<a href="6c2a0abd30">6c2a0ab</a>)</li> <li><strong>locale:</strong> add sl_SI locale, location module (<a href="https://redirect.github.com/faker-js/faker/issues/3652">#3652</a>) (<a href="28d4f7cc28">28d4f7c</a>)</li> <li><strong>locale:</strong> add Welsh (cy) animal type definitions (<a href="https://redirect.github.com/faker-js/faker/issues/3842">#3842</a>) (<a href="50a5ec9477">50a5ec9</a>)</li> <li><strong>locale:</strong> add Welsh (cy) book format definitions (<a href="https://redirect.github.com/faker-js/faker/issues/3846">#3846</a>) (<a href="https://redirect.github.com/faker-js/faker/issues/3846">#3846</a>) (<a href="2b32d6ef02">2b32d6e</a>)</li> <li><strong>locale:</strong> add Welsh (cy) building numbers definition (<a href="https://redirect.github.com/faker-js/faker/issues/3892">#3892</a>) (<a href="4996a2b477">4996a2b</a>)</li> <li><strong>locale:</strong> add Welsh (cy) city name definitions (<a href="https://redirect.github.com/faker-js/faker/issues/3884">#3884</a>) (<a href="ac36c222c5">ac36c22</a>)</li> <li><strong>locale:</strong> add Welsh (cy) continents definitions (<a href="https://redirect.github.com/faker-js/faker/issues/3880">#3880</a>) (<a href="03a1682727">03a1682</a>)</li> <li><strong>locale:</strong> add Welsh (cy) county definitions (<a href="https://redirect.github.com/faker-js/faker/issues/3849">#3849</a>) (<a href="f51d28a3c6">f51d28a</a>)</li> <li><strong>locale:</strong> add Welsh (cy) direction definitions (<a href="https://redirect.github.com/faker-js/faker/issues/3840">#3840</a>) (<a href="d862071c60">d862071</a>)</li> <li><strong>locale:</strong> add Welsh (cy) internet domain suffix definitions (<a href="https://redirect.github.com/faker-js/faker/issues/3865">#3865</a>) (<a href="https://redirect.github.com/faker-js/faker/issues/3865">#3865</a>) (<a href="fb2e2cbe3d">fb2e2cb</a>)</li> <li><strong>locale:</strong> add Welsh (cy) phone number definitions (<a href="https://redirect.github.com/faker-js/faker/issues/3878">#3878</a>) (<a href="70994dbf77">70994db</a>)</li> <li><strong>locale:</strong> add Welsh (cy) postal address definitions (<a href="https://redirect.github.com/faker-js/faker/issues/3850">#3850</a>) (<a href="e72fd7c0d7">e72fd7c</a>)</li> <li><strong>locale:</strong> add Welsh (cy) postcode definitions (<a href="https://redirect.github.com/faker-js/faker/issues/3851">#3851</a>) (<a href="1afbd59cc1">1afbd59</a>)</li> <li><strong>locale:</strong> add Welsh (cy) sex definitions (<a href="https://redirect.github.com/faker-js/faker/issues/3824">#3824</a>) (<a href="6f29eb7548">6f29eb7</a>)</li> <li><strong>locale:</strong> add Welsh (cy) state definitions (<a href="https://redirect.github.com/faker-js/faker/issues/3891">#3891</a>) (<a href="https://redirect.github.com/faker-js/faker/issues/3891">#3891</a>) (<a href="606d47c1c5">606d47c</a>)</li> <li><strong>locale:</strong> add Welsh (cy) street name definitions (<a href="https://redirect.github.com/faker-js/faker/issues/3889">#3889</a>) (<a href="143789efb3">143789e</a>)</li> <li><strong>locale:</strong> add Welsh (cy) vehicle fuel definitions (<a href="https://redirect.github.com/faker-js/faker/issues/3845">#3845</a>) (<a href="29c918a2be">29c918a</a>)</li> <li><strong>locale:</strong> extend tr person last names (<a href="https://redirect.github.com/faker-js/faker/issues/3839">#3839</a>) (<a href="f433771252">f433771</a>)</li> <li><strong>locale:</strong> improved en_GB postcodes (<a href="https://redirect.github.com/faker-js/faker/issues/3864">#3864</a>) (<a href="a4e503989a">a4e5039</a>)</li> <li><strong>locale:</strong> improved en_IE postal_address (<a href="https://redirect.github.com/faker-js/faker/issues/3797">#3797</a>) (<a href="fb3ffd373b">fb3ffd3</a>)</li> </ul> <h3>Features</h3> <ul> <li>add first standalone module functions (<a href="https://redirect.github.com/faker-js/faker/issues/3818">#3818</a>) (<a href="5d4f5ded06">5d4f5de</a>)</li> <li><strong>date:</strong> add ability to provide date range for <code>recent</code> and <code>soon</code> (<a href="https://redirect.github.com/faker-js/faker/issues/3844">#3844</a>) (<a href="0bc038d5ca">0bc038d</a>)</li> <li><strong>date:</strong> add ability to provide year range for <code>past</code> and <code>future</code> (<a href="https://redirect.github.com/faker-js/faker/issues/3783">#3783</a>) (<a href="237e7dc34a">237e7dc</a>)</li> <li><strong>food:</strong> expand plant-based dish and pattern variety (<a href="https://redirect.github.com/faker-js/faker/issues/3887">#3887</a>) (<a href="5eaf729128">5eaf729</a>)</li> <li>introduce FakerCore (<a href="https://redirect.github.com/faker-js/faker/issues/2838">#2838</a>) (<a href="68e15d7e33">68e15d7</a>)</li> <li><strong>location:</strong> add postal address generation (<a href="https://redirect.github.com/faker-js/faker/issues/3760">#3760</a>) (<a href="753bec682d">753bec6</a>)</li> <li><strong>number:</strong> add distributor functions (<a href="https://redirect.github.com/faker-js/faker/issues/3375">#3375</a>) (<a href="325e402dfd">325e402</a>)</li> <li><strong>phone:</strong> mobile style for phone.number (<a href="https://redirect.github.com/faker-js/faker/issues/3583">#3583</a>) (<a href="cd5953b5bf">cd5953b</a>)</li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong>date:</strong> incorrect date boundary in past and future (<a href="https://redirect.github.com/faker-js/faker/issues/3827">#3827</a>) (<a href="0446411f6d">0446411</a>)</li> <li><strong>finance:</strong> routingNumber now uses real FederalReserveRoutingSymbol from lookup table. (<a href="https://redirect.github.com/faker-js/faker/issues/3429">#3429</a>) (<a href="c53c1fefb6">c53c1fe</a>)</li> <li><strong>food:</strong> correct fruit and vegetable locale data (<a href="https://redirect.github.com/faker-js/faker/issues/3800">#3800</a>) (<a href="30a812a52e">30a812a</a>)</li> <li>handle single-character fromRegExp patterns (<a href="https://redirect.github.com/faker-js/faker/issues/3877">#3877</a>) (<a href="ec6cc3bbfd">ec6cc3b</a>)</li> <li><strong>helpers:</strong> ignore wrapper characters in fromRegExp (<a href="https://redirect.github.com/faker-js/faker/issues/3795">#3795</a>) (<a href="9e2c0e391b">9e2c0e3</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="5fb3b2d67c"><code>5fb3b2d</code></a> chore(release): 10.5.0 (<a href="https://redirect.github.com/faker-js/faker/issues/3898">#3898</a>)</li> <li><a href="f89348f34a"><code>f89348f</code></a> chore(deps): lock file maintenance (<a href="https://redirect.github.com/faker-js/faker/issues/3861">#3861</a>)</li> <li><a href="e157511b6c"><code>e157511</code></a> chore(deps): pin dependencies (<a href="https://redirect.github.com/faker-js/faker/issues/3896">#3896</a>)</li> <li><a href="77dbfae4e8"><code>77dbfae</code></a> chore(deps): update prettier to v3.8.4 (<a href="https://redirect.github.com/faker-js/faker/issues/3893">#3893</a>)</li> <li><a href="123193a602"><code>123193a</code></a> chore(deps): update pnpm/action-setup action to v6 (<a href="https://redirect.github.com/faker-js/faker/issues/3894">#3894</a>)</li> <li><a href="8244a24aff"><code>8244a24</code></a> chore(deps): update devdependencies (<a href="https://redirect.github.com/faker-js/faker/issues/3871">#3871</a>)</li> <li><a href="68bc79a748"><code>68bc79a</code></a> chore(deps): update eslint (major) (<a href="https://redirect.github.com/faker-js/faker/issues/3875">#3875</a>)</li> <li><a href="e43b21bfb3"><code>e43b21b</code></a> chore(deps): update all non-major dependencies (<a href="https://redirect.github.com/faker-js/faker/issues/3870">#3870</a>)</li> <li><a href="b6aca312d7"><code>b6aca31</code></a> chore(deps): update vitest (<a href="https://redirect.github.com/faker-js/faker/issues/3872">#3872</a>)</li> <li><a href="a7e8c4f2c8"><code>a7e8c4f</code></a> chore(deps): update mcr.microsoft.com/devcontainers/typescript-node:24 docker...</li> <li>Additional commits viewable in <a href="https://github.com/faker-js/faker/compare/v9.9.0...v10.5.0">compare view</a></li> </ul> </details> <details> <summary>Maintainer changes</summary> <p>This version was pushed to npm by <a href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new releaser for <code>@faker-js/faker</code> since your current version.</p> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/chatwoot/chatwoot/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sony Mathew <sony@chatwoot.com>
Chatwoot E2E Testing
End-to-end testing framework for Chatwoot using Component Object Model pattern.
Setup
# Install dependencies
pnpm install
# Install Playwright browsers
npx playwright install
# Configure environment
cp .env.example .env
Edit .env with your Chatwoot instance URL and credentials.
Usage
# Run all tests
pnpm run playwright:run
# Run tests in UI mode
pnpm run playwright:open
# Lint tests and page objects
pnpm run lint
# Generate test code
pnpm run playwright:codegen
Project Structure
tests/playwright/
├── components/
│ ├── api/ # API interaction components
│ └── ui/ # UI page objects
├── tests/
│ └── e2e/
│ ├── api/ # Pure API tests
│ └── ui/ # UI tests
├── utils/ # Shared utilities and helpers
├── response-schemas/ # API response schemas for validation
├── fixtures/ # Test fixtures
└── helpers/ # Helper functions
Documentation
See DOCS.md for complete testing guide including patterns, conventions, and troubleshooting.
Configuration
See .env.example for the full list of variables.