Features: - Full RBAC with 3 roles (superadmin/manager/contributor) - Ownership tracking on posts, tasks, campaigns, projects - Task system: assign to anyone, filter combobox, visibility scoping - Team members merged into users table (single source of truth) - Post thumbnails on kanban cards from attachments - Publication link validation before publishing - Interactive onboarding tutorial with Settings restart - Full Arabic/English i18n with RTL layout support - Language toggle in sidebar, IBM Plex Sans Arabic font - Brand-based visibility filtering for non-superadmins - Manager can only create contributors - Profile completion flow for new users - Cookie-based sessions (express-session + SQLite)
14 lines
525 B
JavaScript
14 lines
525 B
JavaScript
'use strict'
|
|
var t = require('tap')
|
|
var uniqueSlug = require('../index.js')
|
|
|
|
t.plan(5)
|
|
var slugA = uniqueSlug()
|
|
t.is(slugA.length, 8, 'random slugs are 8 chars')
|
|
t.notEqual(slugA, uniqueSlug(), "two slugs aren't the same")
|
|
var base = '/path/to/thingy'
|
|
var slugB = uniqueSlug(base)
|
|
t.is(slugB.length, 8, 'string based slugs are 8 chars')
|
|
t.is(slugB, uniqueSlug(base), 'two string based slugs, from the same string are the same')
|
|
t.notEqual(slugB, uniqueSlug(slugA), 'two string based slongs, from diff strings are different')
|