Team-API, Sidebar-Zaehler und Format-Hilfen fuer Gutschriften, Angebote und E-Mail-Speicher
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
813c6a7e18
commit
91d526e909
13 files changed
+487
-47
No files matched your search
@@ -5,15 +5,21 @@ import { loadModule } from './load.mjs'
|
||||
// Sidebar: Eintraege als reine Daten (Icons ordnet Navbar.jsx ueber key zu)
|
||||
const { buildNavLinks } = await loadModule('src/lib/navLinks.js')
|
||||
|
||||
test('buildNavLinks: Chat unter Kunden mit Zahl, Admin-Eintraege nur fuer Admins', () => {
|
||||
const links = buildNavLinks({ isAdmin: false, pulseLevel: 'ok', chatUnread: 3 })
|
||||
test('buildNavLinks: vier Unterpunkte unter Kunden mit Zahlen, Admin-Eintraege nur fuer Admins', () => {
|
||||
const links = buildNavLinks({ isAdmin: false, pulseLevel: 'ok', counts: { chat: 3, credits: 1, storage: 2 } })
|
||||
const kunden = links.find((l) => l.key === 'customers')
|
||||
assert.equal(kunden.href, '/customers')
|
||||
assert.deepEqual(kunden.children, [{ key: 'chat', label: 'Chat', href: '/customers/chat', count: 3 }])
|
||||
assert.deepEqual(kunden.children.map((c) => [c.key, c.label, c.href, c.count]), [
|
||||
['chat', 'Chat', '/customers/chat', 3],
|
||||
['gutschriften', 'Gutschriften', '/customers/gutschriften', 1],
|
||||
['angebote', 'Abo-Angebote', '/customers/angebote', undefined],
|
||||
['speicher', 'E-Mail-Speicher', '/customers/email-speicher', 2],
|
||||
])
|
||||
assert.deepEqual(links.map((l) => l.key), ['tickets', 'planboard', 'projects', 'services', 'customers', 'leads', 'legal'])
|
||||
assert.equal(links.find((l) => l.key === 'leads').paused, true)
|
||||
const admin = buildNavLinks({ isAdmin: true, pulseLevel: 'warn', chatUnread: 0 })
|
||||
const admin = buildNavLinks({ isAdmin: true, pulseLevel: 'warn', counts: {} })
|
||||
assert.deepEqual(admin.map((l) => l.key), ['tickets', 'planboard', 'projects', 'services', 'customers', 'leads', 'finance', 'legal', 'serverpuls', 'admin'])
|
||||
assert.equal(admin.find((l) => l.key === 'serverpuls').dot, 'warn')
|
||||
assert.equal(admin.find((l) => l.key === 'finance').also, '/finanzen')
|
||||
assert.equal(admin.find((l) => l.key === 'customers').children[0].count, 0, 'ohne Zahl 0')
|
||||
})
|
||||
Reference in new issue
Block a user