* add renderSizeBadge helper, use it everywhere - switch from pretty-bytes to byte-size - add renderSizeBadge() helper function - match upstream conventions for metric/IEC units - add new test helpers and use them in service tests * unrelated: fix npm unpacked size query param schema not strictly related to this PR but I noticed it was broken * chromewebstore: reformat size string, test against isIecFileSize
44 lines
1.5 KiB
JavaScript
44 lines
1.5 KiB
JavaScript
import { isMetricFileSize } from '../test-validators.js'
|
|
import { createServiceTester } from '../tester.js'
|
|
export const t = await createServiceTester()
|
|
|
|
t.create('bundlejs/package (packageName)')
|
|
.get('/jquery.json')
|
|
.expectBadge({ label: 'minified size (gzip)', message: isMetricFileSize })
|
|
|
|
t.create('bundlejs/package (version)')
|
|
.get('/react@18.2.0.json')
|
|
.expectBadge({ label: 'minified size (gzip)', message: isMetricFileSize })
|
|
|
|
t.create('bundlejs/package (scoped)')
|
|
.get('/@cycle/rx-run.json')
|
|
.expectBadge({ label: 'minified size (gzip)', message: isMetricFileSize })
|
|
|
|
t.create('bundlejs/package (select exports)')
|
|
.get('/value-enhancer.json?exports=isVal,val')
|
|
.expectBadge({ label: 'minified size (gzip)', message: isMetricFileSize })
|
|
|
|
t.create('bundlejs/package (scoped version select exports)')
|
|
.get('/@ngneat/falso@6.4.0.json?exports=randEmail,randFullName')
|
|
.expectBadge({ label: 'minified size (gzip)', message: isMetricFileSize })
|
|
|
|
t.create('bundlejs/package (not found)')
|
|
.get('/react@18.2.0.json')
|
|
.intercept(nock =>
|
|
nock('https://deno.bundlejs.com')
|
|
.get(/./)
|
|
.query({ q: 'react@18.2.0' })
|
|
.reply(404),
|
|
)
|
|
.expectBadge({ label: 'bundlejs', message: 'package or version not found' })
|
|
|
|
t.create('bundlejs/package (timeout)')
|
|
.get('/react@18.2.0.json')
|
|
.intercept(nock =>
|
|
nock('https://deno.bundlejs.com')
|
|
.get(/./)
|
|
.query({ q: 'react@18.2.0' })
|
|
.replyWithError({ code: 'ETIMEDOUT' }),
|
|
)
|
|
.expectBadge({ label: 'bundlejs', message: 'timeout' })
|