shlink-web-client/shlink-web-component/test/utils/helpers/qrCodes.test.ts

37 lines
1.5 KiB
TypeScript
Raw Normal View History

import type { QrCodeFormat, QrErrorCorrection } from '../../../src/utils/helpers/qrCodes';
import { buildQrCodeUrl } from '../../../src/utils/helpers/qrCodes';
2021-01-24 19:47:03 +03:00
describe('qrCodes', () => {
describe('buildQrCodeUrl', () => {
it.each([
[
'bar.io',
2021-08-16 18:44:11 +03:00
{ size: 870, format: 'svg' as QrCodeFormat, margin: 0, errorCorrection: 'L' as QrErrorCorrection },
'bar.io/qr-code?size=870&format=svg&errorCorrection=L',
],
[
'bar.io',
2021-08-16 18:44:11 +03:00
{ size: 200, format: 'svg' as QrCodeFormat, margin: 0, errorCorrection: 'L' as QrErrorCorrection },
'bar.io/qr-code?size=200&format=svg&errorCorrection=L',
],
[
'shlink.io',
2021-08-16 18:44:11 +03:00
{ size: 456, format: 'png' as QrCodeFormat, margin: 10, errorCorrection: 'L' as QrErrorCorrection },
'shlink.io/qr-code?size=456&format=png&errorCorrection=L&margin=10',
],
[
'shlink.io',
{ size: 456, format: 'png' as QrCodeFormat, margin: 0, errorCorrection: 'H' as QrErrorCorrection },
'shlink.io/qr-code?size=456&format=png&errorCorrection=H',
],
2021-08-16 18:44:11 +03:00
[
'shlink.io',
{ size: 999, format: 'png' as QrCodeFormat, margin: 20, errorCorrection: 'Q' as QrErrorCorrection },
'shlink.io/qr-code?size=999&format=png&errorCorrection=Q&margin=20',
2021-08-16 18:44:11 +03:00
],
])('builds expected URL based in params', (shortUrl, options, expectedUrl) => {
expect(buildQrCodeUrl(shortUrl, options)).toEqual(expectedUrl);
2021-01-24 19:47:03 +03:00
});
});
});