에디터 미디어 페이지 계산 로직 분리

This commit is contained in:
2026-07-24 18:07:22 +09:00
parent e3f98cb820
commit 1ec71cc985
7 changed files with 147 additions and 47 deletions

View File

@@ -1,6 +1,8 @@
import assert from 'node:assert/strict'
import test from 'node:test'
import {
buildMediaPickerPageItems,
buildMediaPickerRangeLabel,
createMediaBlockMarkdown,
findUploadSizeLimitError,
formatMediaFileSize,
@@ -185,3 +187,53 @@ test('업로드 파일 한도 초과 메시지를 계산한다', () => {
uploadSizeLimits
}), null)
})
test('미디어 선택 페이지 범위 문구를 계산한다', () => {
assert.equal(buildMediaPickerRangeLabel({
pagination: {
page: 2,
pageSize: 50,
total: 231
},
currentPage: 2,
pageCount: 5,
defaultPageSize: 50
}), '231개 중 51-100개')
assert.equal(buildMediaPickerRangeLabel({
pagination: {
page: 99,
pageSize: 50,
total: 231
},
currentPage: 99,
pageCount: 5,
defaultPageSize: 50
}), '231개 중 201-231개')
assert.equal(buildMediaPickerRangeLabel({
pagination: {
total: 0
},
currentPage: 1,
pageCount: 1,
defaultPageSize: 50
}), '0개')
})
test('미디어 선택 페이지 번호와 말줄임 항목을 계산한다', () => {
assert.deepEqual(buildMediaPickerPageItems({
currentPage: 1,
pageCount: 5
}), [1, 2, 3, 4, 5])
assert.deepEqual(buildMediaPickerPageItems({
currentPage: 6,
pageCount: 12
}), [1, 'ellipsis-1-4', 4, 5, 6, 7, 8, 'ellipsis-8-12', 12])
assert.deepEqual(buildMediaPickerPageItems({
currentPage: 12,
pageCount: 12
}), [1, 'ellipsis-1-9', 9, 10, 11, 12])
})