Update project configuration and testing infrastructure

- Refactored Jest configuration for improved ESM and TypeScript support
- Updated `jest.setup.ts` with comprehensive test environment configuration
- Enhanced mocking for WebSocket, console, and external dependencies
- Adjusted package.json dependencies and scripts
- Updated tsconfig.json with decorator and test exclusion settings
- Improved test coverage configuration and reporting
- Simplified test file structure and mocking strategies
This commit is contained in:
jango-blockchained
2025-01-30 20:06:40 +01:00
parent e1e0a45acc
commit 96aaffd952
11 changed files with 2244 additions and 459 deletions

View File

@@ -23,30 +23,30 @@
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">37.98% </span>
<span class="strong">22.12% </span>
<span class="quiet">Statements</span>
<span class='fraction'>128/337</span>
<span class='fraction'>260/1175</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">33.06% </span>
<span class="strong">19.23% </span>
<span class="quiet">Branches</span>
<span class='fraction'>41/124</span>
<span class='fraction'>85/442</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">37.5% </span>
<span class="strong">25.22% </span>
<span class="quiet">Functions</span>
<span class='fraction'>33/88</span>
<span class='fraction'>57/226</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">38.34% </span>
<span class="strong">22.2% </span>
<span class="quiet">Lines</span>
<span class='fraction'>125/326</span>
<span class='fraction'>254/1144</span>
</div>
@@ -79,18 +79,78 @@
</tr>
</thead>
<tbody><tr>
<td class="file high" data-value="src"><a href="src/index.html">src</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 class="file low" data-value="src"><a href="src/index.html">src</a></td>
<td data-value="11.14" class="pic low">
<div class="chart"><div class="cover-fill" style="width: 11%"></div><div class="cover-empty" style="width: 89%"></div></div>
</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="33" class="abs high">33/33</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="1" class="abs high">1/1</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="1" class="abs high">1/1</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="33" class="abs high">33/33</td>
<td data-value="11.14" class="pct low">11.14%</td>
<td data-value="296" class="abs low">33/296</td>
<td data-value="0.71" class="pct low">0.71%</td>
<td data-value="139" class="abs low">1/139</td>
<td data-value="5" class="pct low">5%</td>
<td data-value="20" class="abs low">1/20</td>
<td data-value="11.22" class="pct low">11.22%</td>
<td data-value="294" class="abs low">33/294</td>
</tr>
<tr>
<td class="file low" data-value="src/ai/endpoints"><a href="src/ai/endpoints/index.html">src/ai/endpoints</a></td>
<td data-value="0" class="pic low">
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="39" class="abs low">0/39</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="7" class="abs low">0/7</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="8" class="abs low">0/8</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="38" class="abs low">0/38</td>
</tr>
<tr>
<td class="file low" data-value="src/ai/nlp"><a href="src/ai/nlp/index.html">src/ai/nlp</a></td>
<td data-value="25.37" class="pic low">
<div class="chart"><div class="cover-fill" style="width: 25%"></div><div class="cover-empty" style="width: 75%"></div></div>
</td>
<td data-value="25.37" class="pct low">25.37%</td>
<td data-value="134" class="abs low">34/134</td>
<td data-value="23.8" class="pct low">23.8%</td>
<td data-value="63" class="abs low">15/63</td>
<td data-value="16.66" class="pct low">16.66%</td>
<td data-value="30" class="abs low">5/30</td>
<td data-value="25.95" class="pct low">25.95%</td>
<td data-value="131" class="abs low">34/131</td>
</tr>
<tr>
<td class="file low" data-value="src/ai/templates"><a href="src/ai/templates/index.html">src/ai/templates</a></td>
<td data-value="0" class="pic low">
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="15" class="abs low">0/15</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="2" class="abs low">0/2</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="8" class="abs low">0/8</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="15" class="abs low">0/15</td>
</tr>
<tr>
<td class="file low" data-value="src/ai/types"><a href="src/ai/types/index.html">src/ai/types</a></td>
<td data-value="0" class="pic low">
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="10" class="abs low">0/10</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="2" class="abs low">0/2</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="1" class="abs low">0/1</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="10" class="abs low">0/10</td>
</tr>
<tr>
@@ -124,48 +184,108 @@
</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 class="file low" data-value="src/hass"><a href="src/hass/index.html">src/hass</a></td>
<td data-value="23.42" class="pic low">
<div class="chart"><div class="cover-fill" style="width: 23%"></div><div class="cover-empty" style="width: 77%"></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>
<td data-value="23.42" class="pct low">23.42%</td>
<td data-value="111" class="abs low">26/111</td>
<td data-value="19.51" class="pct low">19.51%</td>
<td data-value="41" class="abs low">8/41</td>
<td data-value="13.04" class="pct low">13.04%</td>
<td data-value="23" class="abs low">3/23</td>
<td data-value="23.42" class="pct low">23.42%</td>
<td data-value="111" class="abs low">26/111</td>
</tr>
<tr>
<td class="file low" data-value="src/performance"><a href="src/performance/index.html">src/performance</a></td>
<td data-value="0" class="pic low">
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
<td data-value="26.86" class="pic low">
<div class="chart"><div class="cover-fill" style="width: 26%"></div><div class="cover-empty" style="width: 74%"></div></div>
</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="67" class="abs low">0/67</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="22" class="abs low">0/22</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="21" class="abs low">0/21</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="60" class="abs low">0/60</td>
<td data-value="26.86" class="pct low">26.86%</td>
<td data-value="67" class="abs low">18/67</td>
<td data-value="63.63" class="pct medium">63.63%</td>
<td data-value="22" class="abs medium">14/22</td>
<td data-value="33.33" class="pct low">33.33%</td>
<td data-value="21" class="abs low">7/21</td>
<td data-value="28.33" class="pct low">28.33%</td>
<td data-value="60" class="abs low">17/60</td>
</tr>
<tr>
<td class="file low" data-value="src/security"><a href="src/security/index.html">src/security</a></td>
<td class="file low" data-value="src/platforms/macos"><a href="src/platforms/macos/index.html">src/platforms/macos</a></td>
<td data-value="0" class="pic low">
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="57" class="abs low">0/57</td>
<td data-value="82" class="abs low">0/82</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="22" class="abs low">0/22</td>
<td data-value="25" class="abs low">0/25</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="7" class="abs low">0/7</td>
<td data-value="13" class="abs low">0/13</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="56" class="abs low">0/56</td>
<td data-value="79" class="abs low">0/79</td>
</tr>
<tr>
<td class="file low" data-value="src/schemas"><a href="src/schemas/index.html">src/schemas</a></td>
<td data-value="0" class="pic low">
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="8" class="abs low">0/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="0" class="pct low">0%</td>
<td data-value="8" class="abs low">0/8</td>
</tr>
<tr>
<td class="file medium" data-value="src/security"><a href="src/security/index.html">src/security</a></td>
<td data-value="75.43" class="pic medium">
<div class="chart"><div class="cover-fill" style="width: 75%"></div><div class="cover-empty" style="width: 25%"></div></div>
</td>
<td data-value="75.43" class="pct medium">75.43%</td>
<td data-value="57" class="abs medium">43/57</td>
<td data-value="25" class="pct low">25%</td>
<td data-value="20" class="abs low">5/20</td>
<td data-value="57.14" class="pct medium">57.14%</td>
<td data-value="7" class="abs medium">4/7</td>
<td data-value="75" class="pct medium">75%</td>
<td data-value="56" class="abs medium">42/56</td>
</tr>
<tr>
<td class="file low" data-value="src/sse"><a href="src/sse/index.html">src/sse</a></td>
<td data-value="0" class="pic low">
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="123" class="abs low">0/123</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="29" class="abs low">0/29</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="24" class="abs low">0/24</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="115" class="abs low">0/115</td>
</tr>
<tr>
<td class="file low" data-value="src/tools"><a href="src/tools/index.html">src/tools</a></td>
<td data-value="29.5" class="pic low">
<div class="chart"><div class="cover-fill" style="width: 29%"></div><div class="cover-empty" style="width: 71%"></div></div>
</td>
<td data-value="29.5" class="pct low">29.5%</td>
<td data-value="61" class="abs low">18/61</td>
<td data-value="22.22" class="pct low">22.22%</td>
<td data-value="18" class="abs low">4/18</td>
<td data-value="42.85" class="pct low">42.85%</td>
<td data-value="14" class="abs low">6/14</td>
<td data-value="29.31" class="pct low">29.31%</td>
<td data-value="58" class="abs low">17/58</td>
</tr>
<tr>
@@ -191,7 +311,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 2025-01-30T08:31:24.499Z
at 2025-01-30T18:59:31.394Z
</div>
<script src="prettify.js"></script>
<script>