관리자 페이지네이션 계산 테스트 추가
This commit is contained in:
26
tests/admin-pagination.test.js
Normal file
26
tests/admin-pagination.test.js
Normal file
@@ -0,0 +1,26 @@
|
||||
import assert from 'node:assert/strict'
|
||||
import test from 'node:test'
|
||||
import { buildAdminPaginationItems, clampAdminPage } from '../lib/admin-pagination.js'
|
||||
|
||||
test('관리자 페이지 값을 유효 범위로 보정한다', () => {
|
||||
assert.equal(clampAdminPage(0, 10), 1)
|
||||
assert.equal(clampAdminPage(12, 10), 10)
|
||||
assert.equal(clampAdminPage('4', 10), 4)
|
||||
assert.equal(clampAdminPage('abc', 10), 1)
|
||||
})
|
||||
|
||||
test('전체 페이지가 적으면 모든 페이지 번호를 표시한다', () => {
|
||||
assert.deepEqual(buildAdminPaginationItems(3, 7), [1, 2, 3, 4, 5, 6, 7])
|
||||
})
|
||||
|
||||
test('첫 구간에서는 앞쪽 페이지를 펼치고 끝 페이지를 유지한다', () => {
|
||||
assert.deepEqual(buildAdminPaginationItems(2, 12), [1, 2, 3, 4, 5, 'ellipsis-5-12', 12])
|
||||
})
|
||||
|
||||
test('중간 구간에서는 현재 페이지 주변과 양 끝을 유지한다', () => {
|
||||
assert.deepEqual(buildAdminPaginationItems(6, 12), [1, 'ellipsis-1-5', 5, 6, 7, 'ellipsis-7-12', 12])
|
||||
})
|
||||
|
||||
test('끝 구간에서는 첫 페이지와 뒤쪽 페이지를 펼친다', () => {
|
||||
assert.deepEqual(buildAdminPaginationItems(11, 12), [1, 'ellipsis-1-8', 8, 9, 10, 11, 12])
|
||||
})
|
||||
Reference in New Issue
Block a user