34 lines
1.3 KiB
TypeScript
34 lines
1.3 KiB
TypeScript
import { describe, expect, it } from 'vitest'
|
|
import { normalizeSameOriginPublicUrl } from '@/utils/publicUrl'
|
|
|
|
describe('normalizeSameOriginPublicUrl', () => {
|
|
it('rewrites guide assets to the public SDK MinIO cache proxy', () => {
|
|
expect(normalizeSameOriginPublicUrl(
|
|
'/minio/museum-assets/guide-final/E2/detail.jpg'
|
|
)).toBe('/app-api/gis/sdk/minio/museum-assets/guide-final/E2/detail.jpg')
|
|
|
|
expect(normalizeSameOriginPublicUrl(
|
|
'/museum-assets/guide-final/E2/detail.jpg'
|
|
)).toBe('/app-api/gis/sdk/minio/museum-assets/guide-final/E2/detail.jpg')
|
|
})
|
|
|
|
it('rewrites legacy absolute media and proxy URLs without embedding their host', () => {
|
|
expect(normalizeSameOriginPublicUrl(
|
|
'http://172.20.14.21:9000/museum-assets/guide-final/E2/detail.jpg'
|
|
)).toBe('/app-api/gis/sdk/minio/museum-assets/guide-final/E2/detail.jpg')
|
|
|
|
expect(normalizeSameOriginPublicUrl(
|
|
'http://172.20.14.21:48080/yudao-server/app-api/gis/guide?stopId=1'
|
|
)).toBe('/yudao-server/app-api/gis/guide?stopId=1')
|
|
|
|
expect(normalizeSameOriginPublicUrl(
|
|
'http://172.20.14.21:19000/nhm/audio/guide.mp3'
|
|
)).toBe('/nhm/audio/guide.mp3')
|
|
})
|
|
|
|
it('keeps ordinary relative paths unchanged', () => {
|
|
expect(normalizeSameOriginPublicUrl('/static/placeholder.png'))
|
|
.toBe('/static/placeholder.png')
|
|
})
|
|
})
|