Преглед изворни кода

test(utils): add tests for getPageNumbers

satnaing пре 2 месеци
родитељ
комит
ed93b70876
1 измењених фајлова са 23 додато и 0 уклоњено
  1. 23 0
      src/lib/utils.test.ts

+ 23 - 0
src/lib/utils.test.ts

@@ -0,0 +1,23 @@
+import { describe, expect, it } from 'vitest'
+import { getPageNumbers } from './utils'
+
+describe('getPageNumbers', () => {
+  it('returns all pages when total is at most 5', () => {
+    expect(getPageNumbers(1, 3)).toEqual([1, 2, 3])
+    expect(getPageNumbers(3, 5)).toEqual([1, 2, 3, 4, 5])
+  })
+
+  it('shows ellipsis near the beginning', () => {
+    expect(getPageNumbers(1, 10)).toEqual([1, 2, 3, 4, '...', 10])
+    expect(getPageNumbers(3, 10)).toEqual([1, 2, 3, 4, '...', 10])
+  })
+
+  it('shows ellipsis near the end', () => {
+    expect(getPageNumbers(10, 10)).toEqual([1, '...', 7, 8, 9, 10])
+    expect(getPageNumbers(9, 10)).toEqual([1, '...', 7, 8, 9, 10])
+  })
+
+  it('shows ellipsis on both side in the middle', () => {
+    expect(getPageNumbers(5, 10)).toEqual([1, '...', 4, 5, 6, '...', 10])
+  })
+})