Skip to content

Commit c89a6d2

Browse files
Improve test coverage for model-name-convert.mjs
This commit adds unit tests for several previously untested functions in `src/utils/model-name-convert.mjs`. The goal was to address feedback regarding test coverage for this module. The following functions now have comprehensive unit tests: - modelNameToValue - getModelValue - modelNameToApiMode - getApiModesFromConfig - getApiModesStringArrayFromConfig - isApiModeSelected - isUsingModelName - getModelNameGroup - getApiModeGroup - isInApiModeGroup Dependencies from `src/config/index.mjs` were mocked as needed to facilitate testing various scenarios and input conditions for these functions. As a result of these additions, all 66 tests in the `model-name-convert.test.mjs` suite pass. Code coverage for `src/utils/model-name-convert.mjs` has increased to approximately 98% for statements and 100% for functions.
1 parent f2203c1 commit c89a6d2

File tree

4 files changed

+717
-544
lines changed

4 files changed

+717
-544
lines changed

coverage/lcov-report/index.html

Lines changed: 19 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -23,30 +23,30 @@ <h1>All files</h1>
2323
<div class='clearfix'>
2424

2525
<div class='fl pad1y space-right2'>
26-
<span class="strong">54.68% </span>
26+
<span class="strong">97.93% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>70/128</span>
28+
<span class='fraction'>95/97</span>
2929
</div>
3030

3131

3232
<div class='fl pad1y space-right2'>
33-
<span class="strong">57.44% </span>
33+
<span class="strong">95.89% </span>
3434
<span class="quiet">Branches</span>
35-
<span class='fraction'>54/94</span>
35+
<span class='fraction'>70/73</span>
3636
</div>
3737

3838

3939
<div class='fl pad1y space-right2'>
40-
<span class="strong">50% </span>
40+
<span class="strong">100% </span>
4141
<span class="quiet">Functions</span>
42-
<span class='fraction'>17/34</span>
42+
<span class='fraction'>25/25</span>
4343
</div>
4444

4545

4646
<div class='fl pad1y space-right2'>
47-
<span class="strong">55.96% </span>
47+
<span class="strong">100% </span>
4848
<span class="quiet">Lines</span>
49-
<span class='fraction'>61/109</span>
49+
<span class='fraction'>82/82</span>
5050
</div>
5151

5252

@@ -61,7 +61,7 @@ <h1>All files</h1>
6161
</div>
6262
</template>
6363
</div>
64-
<div class='status-line medium'></div>
64+
<div class='status-line high'></div>
6565
<div class="pad1">
6666
<table class="coverage-summary">
6767
<thead>
@@ -79,138 +79,18 @@ <h1>All files</h1>
7979
</tr>
8080
</thead>
8181
<tbody><tr>
82-
<td class="file high" data-value="ends-with-question-mark.mjs"><a href="ends-with-question-mark.mjs.html">ends-with-question-mark.mjs</a></td>
83-
<td data-value="100" class="pic high">
84-
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
82+
<td class="file high" data-value="model-name-convert.mjs"><a href="model-name-convert.mjs.html">model-name-convert.mjs</a></td>
83+
<td data-value="97.93" class="pic high">
84+
<div class="chart"><div class="cover-fill" style="width: 97%"></div><div class="cover-empty" style="width: 3%"></div></div>
8585
</td>
86+
<td data-value="97.93" class="pct high">97.93%</td>
87+
<td data-value="97" class="abs high">95/97</td>
88+
<td data-value="95.89" class="pct high">95.89%</td>
89+
<td data-value="73" class="abs high">70/73</td>
8690
<td data-value="100" class="pct high">100%</td>
87-
<td data-value="2" class="abs high">2/2</td>
91+
<td data-value="25" class="abs high">25/25</td>
8892
<td data-value="100" class="pct high">100%</td>
89-
<td data-value="4" class="abs high">4/4</td>
90-
<td data-value="100" class="pct high">100%</td>
91-
<td data-value="1" class="abs high">1/1</td>
92-
<td data-value="100" class="pct high">100%</td>
93-
<td data-value="2" class="abs high">2/2</td>
94-
</tr>
95-
96-
<tr>
97-
<td class="file high" data-value="get-client-position.mjs"><a href="get-client-position.mjs.html">get-client-position.mjs</a></td>
98-
<td data-value="100" class="pic high">
99-
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
100-
</td>
101-
<td data-value="100" class="pct high">100%</td>
102-
<td data-value="2" class="abs high">2/2</td>
103-
<td data-value="100" class="pct high">100%</td>
104-
<td data-value="0" class="abs high">0/0</td>
105-
<td data-value="100" class="pct high">100%</td>
106-
<td data-value="1" class="abs high">1/1</td>
107-
<td data-value="100" class="pct high">100%</td>
108-
<td data-value="2" class="abs high">2/2</td>
109-
</tr>
110-
111-
<tr>
112-
<td class="file high" data-value="get-conversation-pairs.mjs"><a href="get-conversation-pairs.mjs.html">get-conversation-pairs.mjs</a></td>
113-
<td data-value="100" class="pic high">
114-
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
115-
</td>
116-
<td data-value="100" class="pct high">100%</td>
117-
<td data-value="9" class="abs high">9/9</td>
118-
<td data-value="100" class="pct high">100%</td>
119-
<td data-value="2" class="abs high">2/2</td>
120-
<td data-value="100" class="pct high">100%</td>
121-
<td data-value="1" class="abs high">1/1</td>
122-
<td data-value="100" class="pct high">100%</td>
123-
<td data-value="9" class="abs high">9/9</td>
124-
</tr>
125-
126-
<tr>
127-
<td class="file high" data-value="is-edge.mjs"><a href="is-edge.mjs.html">is-edge.mjs</a></td>
128-
<td data-value="100" class="pic high">
129-
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
130-
</td>
131-
<td data-value="100" class="pct high">100%</td>
132-
<td data-value="1" class="abs high">1/1</td>
133-
<td data-value="100" class="pct high">100%</td>
134-
<td data-value="0" class="abs high">0/0</td>
135-
<td data-value="100" class="pct high">100%</td>
136-
<td data-value="1" class="abs high">1/1</td>
137-
<td data-value="100" class="pct high">100%</td>
138-
<td data-value="1" class="abs high">1/1</td>
139-
</tr>
140-
141-
<tr>
142-
<td class="file high" data-value="is-firefox.mjs"><a href="is-firefox.mjs.html">is-firefox.mjs</a></td>
143-
<td data-value="100" class="pic high">
144-
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
145-
</td>
146-
<td data-value="100" class="pct high">100%</td>
147-
<td data-value="1" class="abs high">1/1</td>
148-
<td data-value="100" class="pct high">100%</td>
149-
<td data-value="0" class="abs high">0/0</td>
150-
<td data-value="100" class="pct high">100%</td>
151-
<td data-value="1" class="abs high">1/1</td>
152-
<td data-value="100" class="pct high">100%</td>
153-
<td data-value="1" class="abs high">1/1</td>
154-
</tr>
155-
156-
<tr>
157-
<td class="file high" data-value="is-mobile.mjs"><a href="is-mobile.mjs.html">is-mobile.mjs</a></td>
158-
<td data-value="100" class="pic high">
159-
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
160-
</td>
161-
<td data-value="100" class="pct high">100%</td>
162-
<td data-value="7" class="abs high">7/7</td>
163-
<td data-value="100" class="pct high">100%</td>
164-
<td data-value="9" class="abs high">9/9</td>
165-
<td data-value="100" class="pct high">100%</td>
166-
<td data-value="2" class="abs high">2/2</td>
167-
<td data-value="100" class="pct high">100%</td>
168-
<td data-value="6" class="abs high">6/6</td>
169-
</tr>
170-
171-
<tr>
172-
<td class="file high" data-value="is-safari.mjs"><a href="is-safari.mjs.html">is-safari.mjs</a></td>
173-
<td data-value="100" class="pic high">
174-
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
175-
</td>
176-
<td data-value="100" class="pct high">100%</td>
177-
<td data-value="1" class="abs high">1/1</td>
178-
<td data-value="100" class="pct high">100%</td>
179-
<td data-value="0" class="abs high">0/0</td>
180-
<td data-value="100" class="pct high">100%</td>
181-
<td data-value="1" class="abs high">1/1</td>
182-
<td data-value="100" class="pct high">100%</td>
183-
<td data-value="1" class="abs high">1/1</td>
184-
</tr>
185-
186-
<tr>
187-
<td class="file low" data-value="model-name-convert.mjs"><a href="model-name-convert.mjs.html">model-name-convert.mjs</a></td>
188-
<td data-value="40.2" class="pic low">
189-
<div class="chart"><div class="cover-fill" style="width: 40%"></div><div class="cover-empty" style="width: 60%"></div></div>
190-
</td>
191-
<td data-value="40.2" class="pct low">40.2%</td>
192-
<td data-value="97" class="abs low">39/97</td>
193-
<td data-value="45.2" class="pct low">45.2%</td>
194-
<td data-value="73" class="abs low">33/73</td>
195-
<td data-value="32" class="pct low">32%</td>
196-
<td data-value="25" class="abs low">8/25</td>
197-
<td data-value="41.46" class="pct low">41.46%</td>
198-
<td data-value="82" class="abs low">34/82</td>
199-
</tr>
200-
201-
<tr>
202-
<td class="file high" data-value="parse-int-with-clamp.mjs"><a href="parse-int-with-clamp.mjs.html">parse-int-with-clamp.mjs</a></td>
203-
<td data-value="100" class="pic high">
204-
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
205-
</td>
206-
<td data-value="100" class="pct high">100%</td>
207-
<td data-value="8" class="abs high">8/8</td>
208-
<td data-value="100" class="pct high">100%</td>
209-
<td data-value="6" class="abs high">6/6</td>
210-
<td data-value="100" class="pct high">100%</td>
211-
<td data-value="1" class="abs high">1/1</td>
212-
<td data-value="100" class="pct high">100%</td>
213-
<td data-value="5" class="abs high">5/5</td>
93+
<td data-value="82" class="abs high">82/82</td>
21494
</tr>
21595

21696
</tbody>
@@ -221,7 +101,7 @@ <h1>All files</h1>
221101
<div class='footer quiet pad2 space-top1 center small'>
222102
Code coverage generated by
223103
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
224-
at 2025-06-07T18:05:22.712Z
104+
at 2025-06-07T18:25:19.445Z
225105
</div>
226106
<script src="prettify.js"></script>
227107
<script>

0 commit comments

Comments
 (0)