|
1 | 1 | import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; |
2 | | -import { reactivePagination } from '../features/pagination/index.js'; |
| 2 | +import { reactivePagination } from '../plugins/pagination/index.js'; |
3 | 3 | import { reactiveTable, type ColumnDef, type ReactiveTable } from './index.js'; |
4 | | -import { reactiveColumnVisibility } from '../features/column-visibility/index.js'; |
5 | | -import { reactiveSorting } from '$lib/features/sorting/sorting.svelte.js'; |
| 4 | +import { reactiveColumnVisibility } from '../plugins/column-visibility/index.js'; |
| 5 | +import { reactiveSorting } from '$lib/plugins/sorting/sorting.svelte.js'; |
6 | 6 |
|
7 | 7 | type Person = { |
8 | 8 | id: number; |
@@ -212,38 +212,36 @@ describe('reactiveTable', () => { |
212 | 212 | }); |
213 | 213 |
|
214 | 214 | it('should add pagination feature when option is provided', () => { |
215 | | - const tableWithPagination = reactiveTable(sampleData, columns, { |
216 | | - pagination: reactivePagination({ pageSize: 2 }) |
217 | | - }); |
| 215 | + const tableWithPagination = reactiveTable(sampleData, columns).use( |
| 216 | + reactivePagination({ pageSize: 2 }) |
| 217 | + ); |
218 | 218 |
|
219 | | - expect(tableWithPagination.pagination).toBeDefined(); |
220 | | - expect(tableWithPagination.pagination.pageSize).toBe(2); |
221 | | - expect(tableWithPagination.pagination.pageCount).toBe(2); |
| 219 | + expect(tableWithPagination.plugins.pagination).toBeDefined(); |
| 220 | + expect(tableWithPagination.plugins.pagination.pageSize).toBe(2); |
| 221 | + expect(tableWithPagination.plugins.pagination.pageCount).toBe(2); |
222 | 222 | expect(tableWithPagination.rows).toHaveLength(2); // First 2 rows |
223 | 223 | }); |
224 | 224 |
|
225 | 225 | it('should add column visibility feature when option is provided', () => { |
226 | | - const tableWithColumnVisvibility = reactiveTable(sampleData, columns, { |
227 | | - columnVisibility: reactiveColumnVisibility({ |
228 | | - hiddenColumns: ['age'] |
229 | | - }) |
230 | | - }); |
| 226 | + const tableWithColumnVisvibility = reactiveTable(sampleData, columns).use( |
| 227 | + reactiveColumnVisibility({ hiddenColumns: ['age'] }) |
| 228 | + ); |
231 | 229 |
|
232 | | - expect(tableWithColumnVisvibility.columnVisibility).toBeDefined(); |
233 | | - expect(tableWithColumnVisvibility.columnVisibility.hiddenColumns).toEqual(['age']); |
| 230 | + expect(tableWithColumnVisvibility.plugins.columnVisibility).toBeDefined(); |
| 231 | + expect(tableWithColumnVisvibility.plugins.columnVisibility.hiddenColumns).toEqual(['age']); |
234 | 232 | expect(tableWithColumnVisvibility.columns).toHaveLength(3); |
235 | 233 | }); |
236 | 234 |
|
237 | 235 | it('should add sorting feature when option is provided', () => { |
238 | | - const tableWithSorting = reactiveTable(sampleData, columns, { |
239 | | - sorting: reactiveSorting({ |
| 236 | + const tableWithSorting = reactiveTable(sampleData, columns).use( |
| 237 | + reactiveSorting({ |
240 | 238 | columnSortings: [{ key: 'name', direction: 'asc' }] |
241 | 239 | }) |
242 | | - }); |
| 240 | + ); |
243 | 241 |
|
244 | | - expect(tableWithSorting.sorting).toBeDefined(); |
245 | | - expect(tableWithSorting.sorting.columnSortings).toHaveLength(1); |
246 | | - expect(tableWithSorting.sorting.columnSortings[0].key).toBe('name'); |
247 | | - expect(tableWithSorting.sorting.columnSortings[0].direction).toBe('asc'); |
| 242 | + expect(tableWithSorting.plugins.sorting).toBeDefined(); |
| 243 | + expect(tableWithSorting.plugins.sorting.columnSortings).toHaveLength(1); |
| 244 | + expect(tableWithSorting.plugins.sorting.columnSortings[0].key).toBe('name'); |
| 245 | + expect(tableWithSorting.plugins.sorting.columnSortings[0].direction).toBe('asc'); |
248 | 246 | }); |
249 | 247 | }); |
0 commit comments