code: valid,is,dbal (2 files)

This commit is contained in:
2025-12-25 19:38:54 +00:00
parent b9135f0cec
commit e61ca6517c
2 changed files with 28 additions and 21 deletions

View File

@@ -1,17 +1,20 @@
import { describe, it, expect } from 'vitest'
import { describe, expect, it } from 'vitest'
import { isValidSlug } from './is-valid-slug'
describe('isValidSlug', () => {
it.each([
{ name: 'letters and hyphens', slug: 'my-page', expected: true },
{ name: 'digits', slug: 'page-123', expected: true },
{ name: 'max length', slug: 'a'.repeat(100), expected: true },
{ name: 'empty', slug: '', expected: false },
{ name: 'uppercase', slug: 'My-page', expected: false },
{ name: 'underscore', slug: 'my_page', expected: false },
{ name: 'too long', slug: 'a'.repeat(101), expected: false },
{ name: 'invalid char', slug: 'page!', expected: false },
])('returns $expected for $name', ({ slug, expected }) => {
expect(isValidSlug(slug)).toBe(expected)
{ slug: 'home' },
{ slug: 'docs/getting-started' },
{ slug: 'a-b/c' },
])('accepts $slug', ({ slug }) => {
expect(isValidSlug(slug)).toBe(true)
})
it.each([
{ slug: 'Home' },
{ slug: 'has spaces' },
{ slug: 'a'.repeat(256) },
])('rejects $slug', ({ slug }) => {
expect(isValidSlug(slug)).toBe(false)
})
})

View File

@@ -1,16 +1,20 @@
import { describe, it, expect } from 'vitest'
import { describe, expect, it } from 'vitest'
import { isValidUsername } from './is-valid-username'
describe('isValidUsername', () => {
it.each([
{ name: 'letters and digits', username: 'User123', expected: true },
{ name: 'underscore and hyphen', username: 'user_name-1', expected: true },
{ name: 'max length', username: 'a'.repeat(50), expected: true },
{ name: 'empty', username: '', expected: false },
{ name: 'too long', username: 'a'.repeat(51), expected: false },
{ name: 'space', username: 'user name', expected: false },
{ name: 'invalid char', username: 'user.name', expected: false },
])('returns $expected for $name', ({ username, expected }) => {
expect(isValidUsername(username)).toBe(expected)
{ username: 'user_1' },
{ username: 'abc' },
{ username: 'user-name' },
])('accepts $username', ({ username }) => {
expect(isValidUsername(username)).toBe(true)
})
it.each([
{ username: 'ab' },
{ username: 'user name' },
{ username: 'a'.repeat(51) },
])('rejects $username', ({ username }) => {
expect(isValidUsername(username)).toBe(false)
})
})