2021-08-16 18:44:11 +03:00
|
|
|
import { buildQrCodeUrl, QrCodeFormat, QrErrorCorrection } from '../../../src/utils/helpers/qrCodes';
|
2021-01-24 19:47:03 +03:00
|
|
|
|
|
|
|
describe('qrCodes', () => {
|
|
|
|
describe('buildQrCodeUrl', () => {
|
2021-09-20 23:00:34 +03:00
|
|
|
it.each([
|
2021-02-14 11:50:26 +03:00
|
|
|
[
|
|
|
|
'bar.io',
|
2021-08-16 18:44:11 +03:00
|
|
|
{ size: 870, format: 'svg' as QrCodeFormat, margin: 0, errorCorrection: 'L' as QrErrorCorrection },
|
2022-05-01 11:44:12 +03:00
|
|
|
{ errorCorrectionIsSupported: false },
|
2021-09-25 12:40:16 +03:00
|
|
|
'bar.io/qr-code?size=870&format=svg',
|
2021-02-14 11:50:26 +03:00
|
|
|
],
|
|
|
|
[
|
|
|
|
'bar.io',
|
2021-08-16 18:44:11 +03:00
|
|
|
{ size: 200, format: 'png' as QrCodeFormat, margin: 0, errorCorrection: 'L' as QrErrorCorrection },
|
2022-05-01 11:44:12 +03:00
|
|
|
{ errorCorrectionIsSupported: false },
|
2021-02-14 11:50:26 +03:00
|
|
|
'bar.io/qr-code?size=200&format=png',
|
|
|
|
],
|
|
|
|
[
|
|
|
|
'bar.io',
|
2021-08-16 18:44:11 +03:00
|
|
|
{ size: 200, format: 'svg' as QrCodeFormat, margin: 0, errorCorrection: 'L' as QrErrorCorrection },
|
2022-05-01 11:44:12 +03:00
|
|
|
{ errorCorrectionIsSupported: false },
|
2021-02-14 11:50:26 +03:00
|
|
|
'bar.io/qr-code?size=200&format=svg',
|
|
|
|
],
|
|
|
|
[
|
|
|
|
'shlink.io',
|
2021-08-16 18:44:11 +03:00
|
|
|
{ size: 456, format: 'png' as QrCodeFormat, margin: 10, errorCorrection: 'L' as QrErrorCorrection },
|
2022-05-01 11:44:12 +03:00
|
|
|
{ errorCorrectionIsSupported: false },
|
|
|
|
'shlink.io/qr-code?size=456&format=png&margin=10',
|
2021-02-14 11:50:26 +03:00
|
|
|
],
|
2021-02-14 12:16:30 +03:00
|
|
|
[
|
|
|
|
'shlink.io',
|
2022-05-01 11:44:12 +03:00
|
|
|
{ size: 456, format: 'png' as QrCodeFormat, margin: 0, errorCorrection: 'H' as QrErrorCorrection },
|
|
|
|
{ errorCorrectionIsSupported: true },
|
|
|
|
'shlink.io/qr-code?size=456&format=png&errorCorrection=H',
|
2021-02-14 12:16:30 +03:00
|
|
|
],
|
2021-08-16 18:44:11 +03:00
|
|
|
[
|
|
|
|
'shlink.io',
|
2022-05-01 11:44:12 +03:00
|
|
|
{ size: 999, format: 'png' as QrCodeFormat, margin: 20, errorCorrection: 'Q' as QrErrorCorrection },
|
|
|
|
{ errorCorrectionIsSupported: true },
|
|
|
|
'shlink.io/qr-code?size=999&format=png&margin=20&errorCorrection=Q',
|
2021-08-16 18:44:11 +03:00
|
|
|
],
|
2021-02-14 11:50:26 +03:00
|
|
|
])('builds expected URL based in params', (shortUrl, options, capabilities, expectedUrl) => {
|
|
|
|
expect(buildQrCodeUrl(shortUrl, options, capabilities)).toEqual(expectedUrl);
|
2021-01-24 19:47:03 +03:00
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|