mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-25 06:14:59 +00:00
code: valid,is,dbal (2 files)
This commit is contained in:
@@ -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)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -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)
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user