test(settings): add unit test for the settings validator assertString function for test cases that should throw an error

This commit is contained in:
2026-06-04 13:53:47 +02:00
parent 4d8521c130
commit 4d612f2c19
2 changed files with 16 additions and 2 deletions
@@ -14,7 +14,8 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import { describe } from 'vitest';
import { describe, test, expect } from 'vitest';
import { assertString } from '../settingsValidator';
describe('validateSettingsConfig', () => {
@@ -33,5 +34,18 @@ describe('assertType', () => {
});
describe('assertString', () => {
test.for([
[0],
[1],
[42],
[-1],
[-42],
[''],
[' '],
[' '],
[' ']
])('throws error for the value %s', ([ value ]) => {
expect(() => assertString(value)).throws(Error);
});
});
@@ -16,7 +16,7 @@ limitations under the License.
const VALID_TYPES = ['bool', 'number', 'string', 'selection', 'section'];
function assertString(value, path) {
export const assertString = function assertString (value, path) {
if (typeof value !== 'string' || value.trim() === '') {
throw new Error(`[settings] "${path}" must be a non-empty string`);
}