Merge S3 (a1): affiliate + partner plumbing

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kev
2026-07-11 14:31:53 -04:00
23 changed files with 1151 additions and 36 deletions
+6 -2
View File
@@ -152,8 +152,12 @@ describe('Phase D — scan + landing wiring', () => {
expect(src).toContain('mapScanToGradeResult');
expect(src).not.toContain("from '@/components/GradeCard'");
});
it('scan keeps sportsbook deep-links safe (noopener noreferrer)', () => {
expect(read('app/scan/page.tsx')).toContain('noopener noreferrer');
it('scan keeps sportsbook deep-links safe (A1 S3: BOOK_LINK_REL = sponsored noopener noreferrer)', () => {
const src = read('app/scan/page.tsx');
expect(src).toContain('rel={BOOK_LINK_REL}');
// the constant itself carries noopener noreferrer (+ sponsored)
const { BOOK_LINK_REL } = require('../../web/src/lib/bookLinks');
expect(BOOK_LINK_REL).toContain('noopener noreferrer');
});
it('landing mounts the ClaimMeter', () => {
expect(read('app/page.tsx')).toContain('ClaimMeter');