mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-14 08:53:11 +00:00
Some checks are pending
Deploy / preflight (push) Waiting to run
Deploy / verify (push) Blocked by required conditions
Deploy / deploy staging (teqo-staging) (push) Blocked by required conditions
Deploy / requeue when main advanced (push) Blocked by required conditions
Deploy / deploy production (teqo-1313) (push) Blocked by required conditions
39 lines
1.7 KiB
TypeScript
39 lines
1.7 KiB
TypeScript
import { YOUTUBE_VIDEO_ID_PATTERN } from '@/lib/shareLink'
|
|
import { validateExcludedItemId } from '@/utilities/socialFeed/excludedItems'
|
|
import { describe, expect, it } from 'vitest'
|
|
|
|
describe('validateExcludedItemId', () => {
|
|
it('accepts a valid 11-char youtube id', () => {
|
|
expect(validateExcludedItemId('dQw4w9WgXcQ', { platform: 'youtube' })).toBe(true)
|
|
expect(validateExcludedItemId('e2evideo001', { platform: 'youtube' })).toBe(true)
|
|
})
|
|
|
|
it('rejects youtube ids that are not 11 chars', () => {
|
|
expect(validateExcludedItemId('e2e-video-excluido-4', { platform: 'youtube' })).toMatch(
|
|
/11 caracteres/,
|
|
)
|
|
expect(validateExcludedItemId('short', { platform: 'youtube' })).toMatch(/11 caracteres/)
|
|
})
|
|
|
|
it('rejects a pasted youtube url as the id', () => {
|
|
expect(
|
|
validateExcludedItemId('https://youtube.com/watch?v=dQw4w9WgXcQ', { platform: 'youtube' }),
|
|
).toMatch(/11 caracteres/)
|
|
})
|
|
|
|
it('only validates for the youtube platform', () => {
|
|
expect(validateExcludedItemId('anything-goes', { platform: 'instagram' })).toBe(true)
|
|
expect(validateExcludedItemId('', { platform: 'youtube' })).toBe(true)
|
|
expect(validateExcludedItemId(null, { platform: 'youtube' })).toBe(true)
|
|
expect(validateExcludedItemId(undefined, { platform: 'youtube' })).toBe(true)
|
|
})
|
|
})
|
|
|
|
describe('YOUTUBE_VIDEO_ID_PATTERN', () => {
|
|
it('matches exactly 11 url-safe chars', () => {
|
|
expect(YOUTUBE_VIDEO_ID_PATTERN.test('dQw4w9WgXcQ')).toBe(true)
|
|
expect(YOUTUBE_VIDEO_ID_PATTERN.test('e2evideo001')).toBe(true)
|
|
expect(YOUTUBE_VIDEO_ID_PATTERN.test('too-short')).toBe(false)
|
|
expect(YOUTUBE_VIDEO_ID_PATTERN.test('e2e-video-excluido-4')).toBe(false)
|
|
})
|
|
})
|