Enhance Jest configuration and testing infrastructure

- Updated Jest configuration to support ESM and improve test coverage
- Added comprehensive test files for helpers, index, context, and HASS integration
- Configured coverage reporting and added new test scripts
- Updated Jest resolver to handle module resolution for chalk and related packages
- Introduced new test setup files for mocking and environment configuration
This commit is contained in:
jango-blockchained
2025-01-30 09:04:07 +01:00
parent f908d83cbf
commit d7e5fcf764
15 changed files with 1077 additions and 282 deletions

View File

@@ -23,30 +23,30 @@
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="strong">38.18% </span>
<span class="quiet">Statements</span>
<span class='fraction'>32/32</span>
<span class='fraction'>42/110</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="strong">12.96% </span>
<span class="quiet">Branches</span>
<span class='fraction'>0/0</span>
<span class='fraction'>7/54</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="strong">28.57% </span>
<span class="quiet">Functions</span>
<span class='fraction'>0/0</span>
<span class='fraction'>2/7</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="strong">38.18% </span>
<span class="quiet">Lines</span>
<span class='fraction'>32/32</span>
<span class='fraction'>42/110</span>
</div>
@@ -61,7 +61,7 @@
</div>
</template>
</div>
<div class='status-line high'></div>
<div class='status-line low'></div>
<div class="pad1">
<table class="coverage-summary">
<thead>
@@ -79,18 +79,48 @@
</tr>
</thead>
<tbody><tr>
<td class="file high" data-value="schemas.ts"><a href="schemas.ts.html">schemas.ts</a></td>
<td class="file low" data-value="src"><a href="src/index.html">src</a></td>
<td data-value="33" class="pic low">
<div class="chart"><div class="cover-fill" style="width: 33%"></div><div class="cover-empty" style="width: 67%"></div></div>
</td>
<td data-value="33" class="pct low">33%</td>
<td data-value="100" class="abs low">33/100</td>
<td data-value="2.43" class="pct low">2.43%</td>
<td data-value="41" class="abs low">1/41</td>
<td data-value="20" class="pct low">20%</td>
<td data-value="5" class="abs low">1/5</td>
<td data-value="33" class="pct low">33%</td>
<td data-value="100" class="abs low">33/100</td>
</tr>
<tr>
<td class="file high" data-value="src/config"><a href="src/config/index.html">src/config</a></td>
<td data-value="100" class="pic high">
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="32" class="abs high">32/32</td>
<td data-value="2" class="abs high">2/2</td>
<td data-value="50" class="pct medium">50%</td>
<td data-value="8" class="abs medium">4/8</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="0" class="abs high">0/0</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="0" class="abs high">0/0</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="32" class="abs high">32/32</td>
<td data-value="2" class="abs high">2/2</td>
</tr>
<tr>
<td class="file high" data-value="src/hass"><a href="src/hass/index.html">src/hass</a></td>
<td data-value="87.5" class="pic high">
<div class="chart"><div class="cover-fill" style="width: 87%"></div><div class="cover-empty" style="width: 13%"></div></div>
</td>
<td data-value="87.5" class="pct high">87.5%</td>
<td data-value="8" class="abs high">7/8</td>
<td data-value="40" class="pct low">40%</td>
<td data-value="5" class="abs low">2/5</td>
<td data-value="50" class="pct medium">50%</td>
<td data-value="2" class="abs medium">1/2</td>
<td data-value="87.5" class="pct high">87.5%</td>
<td data-value="8" class="abs high">7/8</td>
</tr>
</tbody>
@@ -101,7 +131,7 @@
<div class='footer quiet pad2 space-top1 center small'>
Code coverage generated by
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
at 2024-12-17T12:09:28.125Z
at 2024-12-21T09:04:36.269Z
</div>
<script src="prettify.js"></script>
<script>