Skip to content

Commit 303d8ad

Browse files
committed
chore: update
1 parent 67b09a6 commit 303d8ad

File tree

5 files changed

+93
-51
lines changed

5 files changed

+93
-51
lines changed

packages/playground/src/i18n/messages-en.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -82,17 +82,17 @@ const enMessages = {
8282
infoTitle: 'Route info',
8383
params: 'Params',
8484
auth: 'Auth',
85-
bodyTypeNone: 'None',
86-
bodyTypeFormData: 'Form Data',
85+
bodyTypeNone: 'none',
86+
bodyTypeFormData: 'form-data',
8787
bodyTypeFormUrlencoded: 'x-www-form-urlencoded',
88-
bodyTypeRaw: 'Raw',
89-
bodyTypeBinary: 'Binary',
90-
rawType: 'Raw type',
91-
rawTypeText: 'Text',
92-
rawTypeJavascript: 'JavaScript',
93-
rawTypeJson: 'JSON',
94-
rawTypeHtml: 'HTML',
95-
rawTypeWxml: 'WXML',
88+
bodyTypeRaw: 'raw',
89+
bodyTypeBinary: 'binary',
90+
rawType: 'raw type',
91+
rawTypeText: 'text',
92+
rawTypeJavascript: 'javascript',
93+
rawTypeJson: 'json',
94+
rawTypeHtml: 'html',
95+
rawTypeWxml: 'wxml',
9696
rawValidate: 'Validate JSON',
9797
badgeRequired: 'Required',
9898
badgeJson: 'JSON',

packages/playground/src/i18n/messages-zh.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -81,17 +81,17 @@ const zhMessages = {
8181
infoTitle: '路由信息',
8282
params: '路径参数',
8383
auth: '鉴权',
84-
bodyTypeNone: '',
85-
bodyTypeFormData: 'Form Data',
84+
bodyTypeNone: 'none',
85+
bodyTypeFormData: 'form-data',
8686
bodyTypeFormUrlencoded: 'x-www-form-urlencoded',
87-
bodyTypeRaw: 'Raw',
88-
bodyTypeBinary: 'Binary',
89-
rawType: 'Raw 类型',
90-
rawTypeText: '文本',
91-
rawTypeJavascript: 'JavaScript',
92-
rawTypeJson: 'JSON',
93-
rawTypeHtml: 'HTML',
94-
rawTypeWxml: 'WXML',
87+
bodyTypeRaw: 'raw',
88+
bodyTypeBinary: 'binary',
89+
rawType: 'raw 类型',
90+
rawTypeText: 'text',
91+
rawTypeJavascript: 'javascript',
92+
rawTypeJson: 'json',
93+
rawTypeHtml: 'html',
94+
rawTypeWxml: 'wxml',
9595
rawValidate: '校验 JSON',
9696
badgeRequired: '必填',
9797
badgeJson: 'JSON',

packages/playground/test/playground-request.test.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import type { BodyType, RawBodyType } from '../src/types'
12
import { describe, expect, it, vi } from 'vitest'
23
import { ref } from 'vue'
34
import { decodeBase64 } from '../src/hooks/playground-request/base64'
@@ -97,7 +98,9 @@ describe('playground request helpers', () => {
9798
const queryText = ref('{"q":"ok"}')
9899
const headersText = ref('{"X-Test":"1"}')
99100
const bodyText = ref('{"name":"Ada"}')
100-
const bodyType = ref<'json'>('json')
101+
const bodyType = ref<BodyType>('raw')
102+
const rawType = ref<RawBodyType>('json')
103+
const rawValidate = ref(true)
101104
const t = (key: string, params?: Record<string, string | number>) => {
102105
if (!params) {
103106
return key
@@ -119,6 +122,8 @@ describe('playground request helpers', () => {
119122
headersText,
120123
bodyText,
121124
bodyType,
125+
rawType,
126+
rawValidate,
122127
responseText,
123128
responseStatus,
124129
responseTime,

packages/playground/test/request-runner-undefined.test.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import type { BodyType, RawBodyType } from '../src/types'
12
import { describe, expect, it, vi } from 'vitest'
23
import { ref } from 'vue'
34

@@ -24,7 +25,9 @@ describe('request runner undefined headers', () => {
2425
const queryText = ref('')
2526
const headersText = ref('{}')
2627
const bodyText = ref('')
27-
const bodyType = ref<'json' | 'text' | 'form' | 'multipart' | 'base64'>('text')
28+
const bodyType = ref<BodyType>('none')
29+
const rawType = ref<RawBodyType>('json')
30+
const rawValidate = ref(true)
2831
const responseText = ref('')
2932
const responseStatus = ref('')
3033
const responseTime = ref('')
@@ -51,6 +54,8 @@ describe('request runner undefined headers', () => {
5154
headersText,
5255
bodyText,
5356
bodyType,
57+
rawType,
58+
rawValidate,
5459
responseText,
5560
responseStatus,
5661
responseTime,

packages/playground/test/request-runner.test.ts

Lines changed: 61 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import type { BodyType, RawBodyType } from '../src/types'
12
import { parseRouteTemplate } from '@mokup/runtime'
23
import { afterEach, describe, expect, it, vi } from 'vitest'
34
import { ref } from 'vue'
@@ -13,7 +14,9 @@ describe('request runner', () => {
1314
const queryText = ref('')
1415
const headersText = ref('')
1516
const bodyText = ref('')
16-
const bodyType = ref<'json' | 'text' | 'form' | 'multipart' | 'base64'>('json')
17+
const bodyType = ref<BodyType>('raw')
18+
const rawType = ref<RawBodyType>('json')
19+
const rawValidate = ref(true)
1720
const responseText = ref('')
1821
const responseStatus = ref('')
1922
const responseTime = ref('')
@@ -29,6 +32,8 @@ describe('request runner', () => {
2932
headersText,
3033
bodyText,
3134
bodyType,
35+
rawType,
36+
rawValidate,
3237
responseText,
3338
responseStatus,
3439
responseTime,
@@ -53,15 +58,12 @@ describe('request runner', () => {
5358
expect(responseText.value).toBe('errors.headersJson')
5459

5560
headersText.value = '{}'
56-
bodyType.value = 'json'
61+
bodyType.value = 'raw'
62+
rawType.value = 'json'
63+
rawValidate.value = true
5764
bodyText.value = '{'
5865
await runner.runRequest()
5966
expect(responseText.value).toBe('errors.bodyJson')
60-
61-
bodyType.value = 'base64'
62-
bodyText.value = '###'
63-
await runner.runRequest()
64-
expect(responseText.value).toBe('errors.bodyBase64')
6567
})
6668

6769
it('builds request bodies and handles responses', async () => {
@@ -73,7 +75,10 @@ describe('request runner', () => {
7375
const queryText = ref('')
7476
const headersText = ref('')
7577
const bodyText = ref('')
76-
const bodyType = ref<'json' | 'text' | 'form' | 'multipart' | 'base64'>('text')
78+
const bodyType = ref<BodyType>('raw')
79+
const rawType = ref<RawBodyType>('text')
80+
const rawValidate = ref(true)
81+
const binaryFile = ref<File | null>(null)
7782
const responseText = ref('')
7883
const responseStatus = ref('')
7984
const responseTime = ref('')
@@ -100,6 +105,9 @@ describe('request runner', () => {
100105
headersText,
101106
bodyText,
102107
bodyType,
108+
rawType,
109+
rawValidate,
110+
binaryFile,
103111
responseText,
104112
responseStatus,
105113
responseTime,
@@ -109,7 +117,8 @@ describe('request runner', () => {
109117
getRouteKey: () => 'POST /upload/:id',
110118
})
111119

112-
bodyType.value = 'text'
120+
bodyType.value = 'raw'
121+
rawType.value = 'text'
113122
bodyText.value = 'hello'
114123
await runner.runRequest()
115124
expect(fetchMock).toHaveBeenCalledWith(
@@ -120,7 +129,7 @@ describe('request runner', () => {
120129
}),
121130
)
122131

123-
bodyType.value = 'form'
132+
bodyType.value = 'form-urlencoded'
124133
bodyText.value = 'a=1'
125134
await runner.runRequest()
126135
expect(fetchMock).toHaveBeenCalledWith(
@@ -131,17 +140,17 @@ describe('request runner', () => {
131140
}),
132141
)
133142

134-
bodyType.value = 'multipart'
143+
bodyType.value = 'form-data'
135144
bodyText.value = 'a=1'
136145
await runner.runRequest()
137146
const lastMultipart = fetchMock.mock.calls.at(-1)?.[1] as RequestInit
138147
expect(lastMultipart.body).toBeInstanceOf(FormData)
139148

140-
bodyType.value = 'base64'
141-
bodyText.value = 'SGVsbG8='
149+
bodyType.value = 'binary'
150+
binaryFile.value = new File(['hello'], 'hello.bin', { type: 'application/octet-stream' })
142151
await runner.runRequest()
143-
const lastBase64 = fetchMock.mock.calls.at(-1)?.[1] as RequestInit
144-
expect(lastBase64.headers).toEqual(expect.objectContaining({ 'Content-Type': 'application/octet-stream' }))
152+
const lastBinary = fetchMock.mock.calls.at(-1)?.[1] as RequestInit
153+
expect(lastBinary.headers).toEqual(expect.objectContaining({ 'Content-Type': 'application/octet-stream' }))
145154

146155
expect(responseStatus.value).toBe('200 OK')
147156
expect(responseText.value).toContain('"ok"')
@@ -162,7 +171,9 @@ describe('request runner', () => {
162171
const queryText = ref('')
163172
const headersText = ref('')
164173
const bodyText = ref('note=alpha')
165-
const bodyType = ref<'json' | 'text' | 'form' | 'multipart' | 'base64'>('multipart')
174+
const bodyType = ref<BodyType>('form-data')
175+
const rawType = ref<RawBodyType>('text')
176+
const rawValidate = ref(true)
166177
const multipartFiles = ref([
167178
{
168179
id: 'row-1',
@@ -196,6 +207,8 @@ describe('request runner', () => {
196207
headersText,
197208
bodyText,
198209
bodyType,
210+
rawType,
211+
rawValidate,
199212
multipartFiles,
200213
responseText,
201214
responseStatus,
@@ -240,7 +253,10 @@ describe('request runner', () => {
240253
const queryText = ref('')
241254
const headersText = ref('{"Content-Type":"application/custom"}')
242255
const bodyText = ref('')
243-
const bodyType = ref<'json' | 'text' | 'form' | 'multipart' | 'base64'>('json')
256+
const bodyType = ref<BodyType>('raw')
257+
const rawType = ref<RawBodyType>('json')
258+
const rawValidate = ref(true)
259+
const binaryFile = ref<File | null>(null)
244260
const responseText = ref('')
245261
const responseStatus = ref('')
246262
const responseTime = ref('')
@@ -267,6 +283,9 @@ describe('request runner', () => {
267283
headersText,
268284
bodyText,
269285
bodyType,
286+
rawType,
287+
rawValidate,
288+
binaryFile,
270289
responseText,
271290
responseStatus,
272291
responseTime,
@@ -276,20 +295,22 @@ describe('request runner', () => {
276295
getRouteKey: () => 'POST /upload/:id',
277296
})
278297

279-
bodyType.value = 'json'
298+
bodyType.value = 'raw'
299+
rawType.value = 'json'
280300
bodyText.value = '{"ok":true}'
281301
await runner.runRequest()
282302

283-
bodyType.value = 'text'
303+
bodyType.value = 'raw'
304+
rawType.value = 'text'
284305
bodyText.value = 'hello'
285306
await runner.runRequest()
286307

287-
bodyType.value = 'form'
308+
bodyType.value = 'form-urlencoded'
288309
bodyText.value = 'a=1'
289310
await runner.runRequest()
290311

291-
bodyType.value = 'base64'
292-
bodyText.value = 'SGVsbG8='
312+
bodyType.value = 'binary'
313+
binaryFile.value = new File(['hello'], 'hello.bin', { type: 'application/octet-stream' })
293314
await runner.runRequest()
294315

295316
for (const call of fetchMock.mock.calls) {
@@ -306,7 +327,9 @@ describe('request runner', () => {
306327
const queryText = ref('')
307328
const headersText = ref(JSON.stringify({ 'x-optional': undefined, 'list': ['a', 'b'] }))
308329
const bodyText = ref('')
309-
const bodyType = ref<'json' | 'text' | 'form' | 'multipart' | 'base64'>('text')
330+
const bodyType = ref<BodyType>('none')
331+
const rawType = ref<RawBodyType>('text')
332+
const rawValidate = ref(true)
310333
const responseText = ref('')
311334
const responseStatus = ref('')
312335
const responseTime = ref('')
@@ -322,6 +345,8 @@ describe('request runner', () => {
322345
headersText,
323346
bodyText,
324347
bodyType,
348+
rawType,
349+
rawValidate,
325350
responseText,
326351
responseStatus,
327352
responseTime,
@@ -355,7 +380,10 @@ describe('request runner', () => {
355380
const queryText = ref('')
356381
const headersText = ref('{}')
357382
const bodyText = ref(' ')
358-
const bodyType = ref<'json' | 'text' | 'form' | 'multipart' | 'base64'>('text')
383+
const bodyType = ref<BodyType>('raw')
384+
const rawType = ref<RawBodyType>('text')
385+
const rawValidate = ref(true)
386+
const binaryFile = ref<File | null>(null)
359387
const responseText = ref('')
360388
const responseStatus = ref('')
361389
const responseTime = ref('')
@@ -382,6 +410,9 @@ describe('request runner', () => {
382410
headersText,
383411
bodyText,
384412
bodyType,
413+
rawType,
414+
rawValidate,
415+
binaryFile,
385416
responseText,
386417
responseStatus,
387418
responseTime,
@@ -396,20 +427,21 @@ describe('request runner', () => {
396427
expect(init.body).toBeUndefined()
397428
expect(responseText.value).toBe('response.emptyPayload')
398429

399-
bodyType.value = 'json'
430+
bodyType.value = 'raw'
431+
rawType.value = 'json'
400432
bodyText.value = ''
401433
await runner.runRequest()
402434

403-
bodyType.value = 'form'
435+
bodyType.value = 'form-urlencoded'
404436
bodyText.value = ''
405437
await runner.runRequest()
406438

407-
bodyType.value = 'multipart'
439+
bodyType.value = 'form-data'
408440
bodyText.value = ''
409441
await runner.runRequest()
410442

411-
bodyType.value = 'base64'
412-
bodyText.value = ''
443+
bodyType.value = 'binary'
444+
binaryFile.value = null
413445
await runner.runRequest()
414446
})
415447

0 commit comments

Comments
 (0)