mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-05-03 10:14:52 +00:00
9d67c8dbbc
- Implemented notification center initialization and rendering utilities. - Added toast notification types: success, error, warning, and info. - Created notification list rendering with badge support. - Included SVG icons for notification center. - Added tests for notification center functionalities. feat: introduce schema editor package for database management - Developed schema editor initialization and field type definitions. - Implemented table management and relationships handling. - Added SVG icons for schema editor. - Included tests for schema editor functionalities. feat: create user manager package for user management operations - Implemented user management actions: create, update, delete, change level, and toggle active. - Developed user list rendering with sortable columns. - Added SVG icons for user manager. - Included tests for user manager functionalities. feat: add workflow editor package for workflow management - Developed workflow editor rendering and step management utilities. - Implemented workflow run status display and progress rendering. - Added SVG icons for workflow editor. - Included tests for workflow editor functionalities. chore: add static SVG icons for various packages
34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
import { describe, it, expect } from 'vitest'
|
|
|
|
describe('data_table package', () => {
|
|
describe('metadata', () => {
|
|
it('should have valid package structure', async () => {
|
|
const metadata = await import('../seed/metadata.json')
|
|
expect(metadata.packageId).toBe('data_table')
|
|
})
|
|
})
|
|
|
|
describe('columns', () => {
|
|
it.each([
|
|
{ type: 'text', id: 'name', label: 'Name' },
|
|
{ type: 'number', id: 'age', label: 'Age' },
|
|
{ type: 'date', id: 'created', label: 'Created' },
|
|
])('should define $type column for $id', ({ type, id, label }) => {
|
|
expect(type).toBeDefined()
|
|
expect(id).toBeDefined()
|
|
expect(label).toBeDefined()
|
|
})
|
|
})
|
|
|
|
describe('pagination', () => {
|
|
it.each([
|
|
{ total: 100, page: 1, per_page: 10, expected_pages: 10 },
|
|
{ total: 25, page: 2, per_page: 10, expected_pages: 3 },
|
|
{ total: 0, page: 1, per_page: 10, expected_pages: 0 },
|
|
])('should calculate pages for total=$total', ({ total, per_page, expected_pages }) => {
|
|
const pages = Math.ceil(total / per_page)
|
|
expect(pages).toBe(expected_pages)
|
|
})
|
|
})
|
|
})
|