diff --git a/app/components/Compare/FacetBarChart.vue b/app/components/Compare/FacetBarChart.vue index 1e28d23db..8433ad81c 100644 --- a/app/components/Compare/FacetBarChart.vue +++ b/app/components/Compare/FacetBarChart.vue @@ -283,23 +283,27 @@ const config = computed(() => { diff --git a/test/nuxt/components/compare/FacetBarChart.spec.ts b/test/nuxt/components/compare/FacetBarChart.spec.ts new file mode 100644 index 000000000..d54d389d1 --- /dev/null +++ b/test/nuxt/components/compare/FacetBarChart.spec.ts @@ -0,0 +1,27 @@ +import { describe, expect, it } from 'vitest' +import { mountSuspended } from '@nuxt/test-utils/runtime' +import FacetBarChart from '~/components/Compare/FacetBarChart.vue' + +describe('FacetBarChart', () => { + it('renders a taller loading skeleton with title and subtitle placeholders', async () => { + const component = await mountSuspended(FacetBarChart, { + props: { + values: [null, null], + packages: ['react', 'vue'], + label: 'Bundle size', + description: 'Compare install footprint', + facetLoading: true, + }, + }) + + const skeleton = component.find('[data-test="facet-bar-chart-skeleton"]') + expect(skeleton.exists()).toBe(true) + + const lines = skeleton.findAllComponents({ name: 'SkeletonInline' }) + expect(lines).toHaveLength(4) + expect(lines[0]?.attributes('class')).toContain('h-5') + expect(lines[1]?.attributes('class')).toContain('h-4') + expect(lines[2]?.attributes('class')).toContain('h-8') + expect(lines[3]?.attributes('class')).toContain('h-8') + }) +})