fix(site): skip docs links for features without reference pages (#1394)

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Darius Cepulis
2026-07-02 11:04:31 -07:00
committed by GitHub
co-authored by Claude
parent fb50e331f2
commit 2a8cbd0df4
8 changed files with 115 additions and 34 deletions
@@ -917,10 +917,30 @@ describe('Preset pipeline (end-to-end)', () => {
it('resolves feature names from the bundle', () => {
const ref = findPreset('video')!.reference;
expect(ref.features).toEqual(expect.arrayContaining(['playback', 'volume']));
expect(ref.features.map((f) => f.name)).toEqual(expect.arrayContaining(['playback', 'volume']));
expect(ref.features.length).toBe(2);
});
it('emits docs slugs for features', () => {
const ref = findPreset('video')!.reference;
const playback = ref.features.find((f) => f.name === 'playback');
const volume = ref.features.find((f) => f.name === 'volume');
expect(playback?.slug).toBe('reference/feature-playback');
expect(volume?.slug).toBe('reference/feature-volume');
});
it('flags hasReference true when the feature MDX page exists', () => {
const ref = findPreset('video')!.reference;
const playback = ref.features.find((f) => f.name === 'playback');
expect(playback?.hasReference).toBe(true);
});
it('flags hasReference false when the feature MDX page is missing', () => {
const ref = findPreset('video')!.reference;
const volume = ref.features.find((f) => f.name === 'volume');
expect(volume?.hasReference).toBe(false);
});
it('detects HTML skins with tagNames', () => {
const skins = findPreset('video')!.reference.html.skins;
expect(skins).toEqual(
@@ -974,7 +994,7 @@ describe('Preset pipeline (end-to-end)', () => {
it('resolves feature names (subset of video)', () => {
const ref = findPreset('audio')!.reference;
expect(ref.features).toEqual(['playback']);
expect(ref.features.map((f) => f.name)).toEqual(['playback']);
});
it('detects single HTML skin', () => {
@@ -1049,8 +1069,8 @@ describe('Preset pipeline (end-to-end)', () => {
const featureSlugs = featureResults.map((r) => r.slug);
const videoPreset = findPreset('video')!.reference;
for (const featureName of videoPreset.features) {
expect(featureSlugs).toContain(featureName);
for (const feature of videoPreset.features) {
expect(featureSlugs).toContain(feature.name);
}
});
});