diff --git a/app/components/Package/HealthScore.vue b/app/components/Package/HealthScore.vue new file mode 100644 index 000000000..52df4fa0a --- /dev/null +++ b/app/components/Package/HealthScore.vue @@ -0,0 +1,181 @@ + + + + + + + + {{ $t('package.health_score.error') }} + + + + + + + + + {{ data.score }} + /100 + + + + + + {{ data.grade }} + + + + + + + + + + {{ dim.label }} + ({{ dim.weight }}%) + + {{ dim.score }} + + + + + + + + + + {{ $t('package.health_score.powered_by') }} + + + + + diff --git a/app/pages/package/[[org]]/[name].vue b/app/pages/package/[[org]]/[name].vue index 4bc4d85bc..199a7e7d0 100644 --- a/app/pages/package/[[org]]/[name].vue +++ b/app/pages/package/[[org]]/[name].vue @@ -926,6 +926,9 @@ const showSkeleton = shallowRef(false) + + + { }) }) + describe('PackageHealthScore', () => { + it('should have no accessibility violations in loading state', async () => { + const component = await mountSuspended(PackageHealthScore, { + props: { packageName: 'vue' }, + }) + const results = await runAxe(component) + expect(results.violations).toEqual([]) + }) + }) + describe('PackageKeywords', () => { it('should have no accessibility violations without keywords', async () => { const component = await mountSuspended(PackageKeywords, {