Files
metabuilder/packages/data_table/tests/data_table.test.ts
T
git 9d67c8dbbc feat: add notification center package with toast and list functionalities
- 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
2025-12-29 23:47:01 +00:00

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)
})
})
})