에디터 미디어 응답 상태 정규화 분리
This commit is contained in:
@@ -4,6 +4,7 @@ import {
|
||||
buildMediaPickerPageItems,
|
||||
buildMediaPickerRangeLabel,
|
||||
createMediaBlockMarkdown,
|
||||
createDefaultMediaPickerPagination,
|
||||
findUploadSizeLimitError,
|
||||
formatMediaFileSize,
|
||||
getGallerySelectionOrder,
|
||||
@@ -11,6 +12,7 @@ import {
|
||||
getMediaPickerPreviewUrl,
|
||||
isMediaItemSelectableForTarget,
|
||||
isUploadFileAllowedForMediaTarget,
|
||||
normalizeMediaPickerResponse,
|
||||
resolveSelectedMediaItems,
|
||||
resolveUploadFetchErrorMessage,
|
||||
toggleMediaSelectionState
|
||||
@@ -237,3 +239,69 @@ test('미디어 선택 페이지 번호와 말줄임 항목을 계산한다', ()
|
||||
pageCount: 12
|
||||
}), [1, 'ellipsis-1-9', 9, 10, 11, 12])
|
||||
})
|
||||
|
||||
test('미디어 선택 기본 페이지네이션 상태를 만든다', () => {
|
||||
assert.deepEqual(createDefaultMediaPickerPagination(50), {
|
||||
page: 1,
|
||||
pageSize: 50,
|
||||
total: 0,
|
||||
pageCount: 1
|
||||
})
|
||||
|
||||
assert.deepEqual(createDefaultMediaPickerPagination(20, 3), {
|
||||
page: 1,
|
||||
pageSize: 20,
|
||||
total: 3,
|
||||
pageCount: 1
|
||||
})
|
||||
})
|
||||
|
||||
test('미디어 선택 API 응답을 상태용 값으로 정규화한다', () => {
|
||||
assert.deepEqual(normalizeMediaPickerResponse({
|
||||
items: [{ url: '/a.png' }],
|
||||
pagination: {
|
||||
page: 2,
|
||||
pageSize: 50,
|
||||
total: 101,
|
||||
pageCount: 3
|
||||
}
|
||||
}, 50), {
|
||||
items: [{ url: '/a.png' }],
|
||||
pagination: {
|
||||
page: 2,
|
||||
pageSize: 50,
|
||||
total: 101,
|
||||
pageCount: 3
|
||||
}
|
||||
})
|
||||
|
||||
assert.deepEqual(normalizeMediaPickerResponse({
|
||||
items: [{ url: '/a.png' }]
|
||||
}, 50), {
|
||||
items: [{ url: '/a.png' }],
|
||||
pagination: {
|
||||
page: 1,
|
||||
pageSize: 50,
|
||||
total: 1,
|
||||
pageCount: 1
|
||||
}
|
||||
})
|
||||
|
||||
assert.deepEqual(normalizeMediaPickerResponse({
|
||||
items: 'invalid',
|
||||
pagination: {
|
||||
page: -2,
|
||||
pageSize: 0,
|
||||
total: -10,
|
||||
pageCount: 0
|
||||
}
|
||||
}, 50), {
|
||||
items: [],
|
||||
pagination: {
|
||||
page: 1,
|
||||
pageSize: 50,
|
||||
total: 0,
|
||||
pageCount: 1
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user