Rocky_Mountain_Vending/.pnpm-store/v10/files/63/0cc430eae0b406339fcd9eb862f00ab34cf67aaffd3e40d5ac262f9c8ab0d6929a7f1b85a5806f45fc622e2425946027c31f9c838128b26b8fbefb0e86a326
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

65 lines
1.8 KiB
Text

import {validateLoadParams, findScript} from './shared';
describe('validateLoadParams', () => {
const INVALID_INPUTS: any[] = [
[undefined],
[false],
[null],
[true],
[{}],
[8],
[{advancedFraud: true}],
[{advancedFraudSignals: true, someOtherKey: true}],
[{advancedFraudSignals: 'true'}],
];
test.each(INVALID_INPUTS)('throws on invalid input: %p', (input) => {
expect(() => validateLoadParams(input)).toThrow('invalid load parameters');
});
test('validates valid input', () => {
expect(validateLoadParams({advancedFraudSignals: true})).toEqual({
advancedFraudSignals: true,
});
expect(validateLoadParams({advancedFraudSignals: false})).toEqual({
advancedFraudSignals: false,
});
});
});
describe('findScript', () => {
const CASES: Array<[string, boolean]> = [
['https://js.stripe.com/v3?advancedFraudSignals=true', true],
['https://js.stripe.com/v3', true],
['https://js.stripe.com/v3/', true],
['https://js.stripe.com/v3?advancedFraudSignals=false', true],
['https://js.stripe.com/v3?ab=cd', true],
['https://js.stripe.com/v3/something.js', false],
['https://js.stripe.com/v3/something.js?advancedFraudSignals=false', false],
['https://js.stripe.com/v3/something.js?ab=cd', false],
];
afterEach(() => {
for (const [url] of CASES) {
const script = document.querySelector(`script[src="${url}"]`);
if (script && script.parentElement) {
script.parentElement.removeChild(script);
}
}
delete window.Stripe;
});
test.each(CASES)(
'findScript with <script src="%s"></script>',
(url, shouldBeFound) => {
const script = document.createElement('script');
script.src = url;
document.body.appendChild(script);
expect(!!findScript()).toBe(shouldBeFound);
}
);
});