@getmicdrop/svelte-components 5.5.4 → 5.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/calendar/AboutShow/AboutShow.spec.d.ts +2 -0
- package/dist/calendar/AboutShow/AboutShow.spec.d.ts.map +1 -0
- package/dist/calendar/AboutShow/AboutShow.spec.js +791 -0
- package/dist/calendar/Calendar/MiniMonthCalendar.spec.d.ts +2 -0
- package/dist/calendar/Calendar/MiniMonthCalendar.spec.d.ts.map +1 -0
- package/dist/calendar/Calendar/MiniMonthCalendar.spec.js +1191 -0
- package/dist/calendar/FAQs/FAQs.spec.d.ts +2 -0
- package/dist/calendar/FAQs/FAQs.spec.d.ts.map +1 -0
- package/dist/calendar/FAQs/FAQs.spec.js +238 -0
- package/dist/calendar/MonthSwitcher/MonthSwitcher.spec.d.ts +2 -0
- package/dist/calendar/MonthSwitcher/MonthSwitcher.spec.d.ts.map +1 -0
- package/dist/calendar/MonthSwitcher/MonthSwitcher.spec.js +420 -0
- package/dist/calendar/OrderSummary/OrderSummary.spec.d.ts +2 -0
- package/dist/calendar/OrderSummary/OrderSummary.spec.d.ts.map +1 -0
- package/dist/calendar/OrderSummary/OrderSummary.spec.js +808 -0
- package/dist/calendar/PublicCard/PublicCard.spec.d.ts +2 -0
- package/dist/calendar/PublicCard/PublicCard.spec.d.ts.map +1 -0
- package/dist/calendar/PublicCard/PublicCard.spec.js +301 -0
- package/dist/calendar/ShowCard/ShowCard.spec.d.ts +2 -0
- package/dist/calendar/ShowCard/ShowCard.spec.d.ts.map +1 -0
- package/dist/calendar/ShowCard/ShowCard.spec.js +714 -0
- package/dist/calendar/ShowTimeCard/ShowTimeCard.spec.d.ts +2 -0
- package/dist/calendar/ShowTimeCard/ShowTimeCard.spec.d.ts.map +1 -0
- package/dist/calendar/ShowTimeCard/ShowTimeCard.spec.js +241 -0
- package/dist/components/Layout/Section.spec.d.ts +2 -0
- package/dist/components/Layout/Section.spec.d.ts.map +1 -0
- package/dist/components/Layout/Section.spec.js +149 -0
- package/dist/components/Layout/Sidebar.spec.d.ts +2 -0
- package/dist/components/Layout/Sidebar.spec.d.ts.map +1 -0
- package/dist/components/Layout/Sidebar.spec.js +186 -0
- package/dist/components/Layout/Stack.spec.js +3 -3
- package/dist/constants/formOptions.spec.js +9 -5
- package/dist/datetime/__tests__/format.test.js +1 -1
- package/dist/datetime/__tests__/parse.test.js +1 -1
- package/dist/datetime/__tests__/timezone.test.js +124 -2
- package/dist/datetime/parse.js +1 -1
- package/dist/forms/createFieldTracker.spec.d.ts +2 -0
- package/dist/forms/createFieldTracker.spec.d.ts.map +1 -0
- package/dist/forms/createFieldTracker.spec.js +343 -0
- package/dist/forms/createFormStore.spec.d.ts +2 -0
- package/dist/forms/createFormStore.spec.d.ts.map +1 -0
- package/dist/forms/createFormStore.spec.js +689 -0
- package/dist/forms/createFormStore.svelte.js +0 -1
- package/dist/index.d.ts +4 -112
- package/dist/index.js +4 -190
- package/dist/patterns/data/DataGrid.spec.d.ts +2 -0
- package/dist/patterns/data/DataGrid.spec.d.ts.map +1 -0
- package/dist/patterns/data/DataGrid.spec.js +159 -0
- package/dist/patterns/data/DataList.spec.d.ts +2 -0
- package/dist/patterns/data/DataList.spec.d.ts.map +1 -0
- package/dist/patterns/data/DataList.spec.js +158 -0
- package/dist/patterns/data/DataTable.spec.d.ts +2 -0
- package/dist/patterns/data/DataTable.spec.d.ts.map +1 -0
- package/dist/patterns/data/DataTable.spec.js +196 -0
- package/dist/patterns/forms/FormActions.spec.js +10 -3
- package/dist/patterns/forms/FormGrid.spec.d.ts +2 -0
- package/dist/patterns/forms/FormGrid.spec.d.ts.map +1 -0
- package/dist/patterns/forms/FormGrid.spec.js +125 -0
- package/dist/patterns/forms/FormSection.spec.d.ts +2 -0
- package/dist/patterns/forms/FormSection.spec.d.ts.map +1 -0
- package/dist/patterns/forms/FormSection.spec.js +153 -0
- package/dist/patterns/layout/Sidebar.spec.d.ts +2 -0
- package/dist/patterns/layout/Sidebar.spec.d.ts.map +1 -0
- package/dist/patterns/layout/Sidebar.spec.js +159 -0
- package/dist/patterns/navigation/BottomNav.svelte +4 -4
- package/dist/patterns/navigation/Header.spec.js +33 -24
- package/dist/patterns/page/PageHeader.spec.d.ts +2 -0
- package/dist/patterns/page/PageHeader.spec.d.ts.map +1 -0
- package/dist/patterns/page/PageHeader.spec.js +167 -0
- package/dist/patterns/page/PageLayout.spec.d.ts +2 -0
- package/dist/patterns/page/PageLayout.spec.d.ts.map +1 -0
- package/dist/patterns/page/PageLayout.spec.js +145 -0
- package/dist/patterns/page/PageLoader.spec.js +5 -2
- package/dist/patterns/page/SectionHeader.spec.d.ts +2 -0
- package/dist/patterns/page/SectionHeader.spec.d.ts.map +1 -0
- package/dist/patterns/page/SectionHeader.spec.js +197 -0
- package/dist/presets/badges.spec.d.ts +2 -0
- package/dist/presets/badges.spec.d.ts.map +1 -0
- package/dist/presets/badges.spec.js +172 -0
- package/dist/presets/buttons.spec.d.ts +2 -0
- package/dist/presets/buttons.spec.d.ts.map +1 -0
- package/dist/presets/buttons.spec.js +135 -0
- package/dist/primitives/Accordion/Accordion.spec.d.ts +2 -0
- package/dist/primitives/Accordion/Accordion.spec.d.ts.map +1 -0
- package/dist/primitives/Accordion/Accordion.spec.js +83 -0
- package/dist/primitives/Accordion/AccordionItem.spec.d.ts +2 -0
- package/dist/primitives/Accordion/AccordionItem.spec.d.ts.map +1 -0
- package/dist/primitives/Accordion/AccordionItem.spec.js +661 -0
- package/dist/primitives/Accordion/AccordionItemWrapper.test.svelte +107 -0
- package/dist/primitives/Accordion/AccordionItemWrapper.test.svelte.d.ts +35 -0
- package/dist/primitives/Accordion/AccordionItemWrapper.test.svelte.d.ts.map +1 -0
- package/dist/primitives/Alert/Alert.spec.js +5 -2
- package/dist/primitives/Avatar/Avatar.spec.d.ts +2 -0
- package/dist/primitives/Avatar/Avatar.spec.d.ts.map +1 -0
- package/dist/primitives/Avatar/Avatar.spec.js +211 -0
- package/dist/primitives/Badges/Badge.spec.js +109 -68
- package/dist/primitives/BottomSheet/BottomSheet.spec.js +36 -27
- package/dist/primitives/BottomSheet/BottomSheetWrapper.test.svelte +13 -0
- package/dist/primitives/BottomSheet/BottomSheetWrapper.test.svelte.d.ts +7 -0
- package/dist/primitives/BottomSheet/BottomSheetWrapper.test.svelte.d.ts.map +1 -0
- package/dist/primitives/Breadcrumb/Breadcrumb.spec.js +15 -13
- package/dist/primitives/Breadcrumb/Breadcrumb.svelte +5 -5
- package/dist/primitives/Button/Button.spec.js +83 -71
- package/dist/primitives/Button/ButtonSaveDemo.spec.js +100 -2
- package/dist/primitives/Button/ButtonVariantShowcase.spec.d.ts +2 -0
- package/dist/primitives/Button/ButtonVariantShowcase.spec.d.ts.map +1 -0
- package/dist/primitives/Button/ButtonVariantShowcase.spec.js +202 -0
- package/dist/primitives/Card.spec.js +1 -1
- package/dist/primitives/Checkbox/Checkbox.spec.d.ts +2 -0
- package/dist/primitives/Checkbox/Checkbox.spec.d.ts.map +1 -0
- package/dist/primitives/Checkbox/Checkbox.spec.js +252 -0
- package/dist/primitives/DarkModeToggle.spec.js +84 -51
- package/dist/primitives/Drawer/Drawer.spec.d.ts +2 -0
- package/dist/primitives/Drawer/Drawer.spec.d.ts.map +1 -0
- package/dist/primitives/Drawer/Drawer.spec.js +212 -0
- package/dist/primitives/Dropdown/Dropdown.spec.d.ts +2 -0
- package/dist/primitives/Dropdown/Dropdown.spec.d.ts.map +1 -0
- package/dist/primitives/Dropdown/Dropdown.spec.js +366 -0
- package/dist/primitives/Dropdown/DropdownItem.spec.d.ts +2 -0
- package/dist/primitives/Dropdown/DropdownItem.spec.d.ts.map +1 -0
- package/dist/primitives/Dropdown/DropdownItem.spec.js +182 -0
- package/dist/primitives/Icons/iconTestUtils.spec.d.ts +2 -0
- package/dist/primitives/Icons/iconTestUtils.spec.d.ts.map +1 -0
- package/dist/primitives/Icons/iconTestUtils.spec.js +235 -0
- package/dist/primitives/Input/Input.spec.js +14 -14
- package/dist/primitives/Input/Input.svelte +1 -14
- package/dist/primitives/Input/Input.svelte.d.ts.map +1 -1
- package/dist/primitives/Input/Select.spec.js +11 -17
- package/dist/primitives/Input/Textarea.spec.d.ts +2 -0
- package/dist/primitives/Input/Textarea.spec.d.ts.map +1 -0
- package/dist/primitives/Input/Textarea.spec.js +255 -0
- package/dist/primitives/Label/Label.spec.d.ts +2 -0
- package/dist/primitives/Label/Label.spec.d.ts.map +1 -0
- package/dist/primitives/Label/Label.spec.js +157 -0
- package/dist/primitives/Modal/Modal.spec.js +29 -25
- package/dist/primitives/Modal/ModalTestWrapper.svelte +65 -0
- package/dist/primitives/Modal/ModalTestWrapper.svelte.d.ts +23 -0
- package/dist/primitives/Modal/ModalTestWrapper.svelte.d.ts.map +1 -0
- package/dist/primitives/NumberInput/NumberInput.spec.d.ts +2 -0
- package/dist/primitives/NumberInput/NumberInput.spec.d.ts.map +1 -0
- package/dist/primitives/NumberInput/NumberInput.spec.js +235 -0
- package/dist/primitives/Pagination/Pagination.spec.d.ts +2 -0
- package/dist/primitives/Pagination/Pagination.spec.d.ts.map +1 -0
- package/dist/primitives/Pagination/Pagination.spec.js +266 -0
- package/dist/primitives/Radio/Radio.spec.d.ts +2 -0
- package/dist/primitives/Radio/Radio.spec.d.ts.map +1 -0
- package/dist/primitives/Radio/Radio.spec.js +206 -0
- package/dist/primitives/Skeleton/CardPlaceholder.spec.d.ts +2 -0
- package/dist/primitives/Skeleton/CardPlaceholder.spec.d.ts.map +1 -0
- package/dist/primitives/Skeleton/CardPlaceholder.spec.js +156 -0
- package/dist/primitives/Skeleton/ImagePlaceholder.spec.d.ts +2 -0
- package/dist/primitives/Skeleton/ImagePlaceholder.spec.d.ts.map +1 -0
- package/dist/primitives/Skeleton/ImagePlaceholder.spec.js +120 -0
- package/dist/primitives/Skeleton/ListPlaceholder.spec.d.ts +2 -0
- package/dist/primitives/Skeleton/ListPlaceholder.spec.d.ts.map +1 -0
- package/dist/primitives/Skeleton/ListPlaceholder.spec.js +220 -0
- package/dist/primitives/Skeleton/Skeleton.spec.d.ts +2 -0
- package/dist/primitives/Skeleton/Skeleton.spec.d.ts.map +1 -0
- package/dist/primitives/Skeleton/Skeleton.spec.js +173 -0
- package/dist/primitives/Spinner/Spinner.spec.js +25 -29
- package/dist/primitives/Tabs/TabItem.spec.d.ts +2 -0
- package/dist/primitives/Tabs/TabItem.spec.d.ts.map +1 -0
- package/dist/primitives/Tabs/TabItem.spec.js +130 -0
- package/dist/primitives/Tabs/Tabs.spec.d.ts +2 -0
- package/dist/primitives/Tabs/Tabs.spec.d.ts.map +1 -0
- package/dist/primitives/Tabs/Tabs.spec.js +295 -0
- package/dist/primitives/Tabs/TabsWithItems.test.svelte +18 -0
- package/dist/primitives/Tabs/TabsWithItems.test.svelte.d.ts +16 -0
- package/dist/primitives/Tabs/TabsWithItems.test.svelte.d.ts.map +1 -0
- package/dist/primitives/Toggle.spec.js +93 -77
- package/dist/primitives/Typography/Typography.spec.d.ts +2 -0
- package/dist/primitives/Typography/Typography.spec.d.ts.map +1 -0
- package/dist/primitives/Typography/Typography.spec.js +183 -0
- package/dist/primitives/ValidationError.spec.js +1 -1
- package/dist/primitives/index.d.ts +1 -0
- package/dist/primitives/index.js +3 -0
- package/dist/recipes/CropImage/CropImage.spec.js +1 -9
- package/dist/recipes/ImageUploader/ImageUploader.spec.d.ts +2 -0
- package/dist/recipes/ImageUploader/ImageUploader.spec.d.ts.map +1 -0
- package/dist/recipes/ImageUploader/ImageUploader.spec.js +1351 -0
- package/dist/recipes/SuperLogin/SuperLogin.spec.d.ts +2 -0
- package/dist/recipes/SuperLogin/SuperLogin.spec.d.ts.map +1 -0
- package/dist/recipes/SuperLogin/SuperLogin.spec.js +1436 -0
- package/dist/recipes/feedback/EmptyState/EmptyState.spec.d.ts +2 -0
- package/dist/recipes/feedback/EmptyState/EmptyState.spec.d.ts.map +1 -0
- package/dist/recipes/feedback/EmptyState/EmptyState.spec.js +202 -0
- package/dist/recipes/feedback/ErrorDisplay.spec.js +6 -6
- package/dist/recipes/feedback/StatusIndicator/StatusIndicator.spec.js +21 -17
- package/dist/recipes/fields/CheckboxField.spec.d.ts +2 -0
- package/dist/recipes/fields/CheckboxField.spec.d.ts.map +1 -0
- package/dist/recipes/fields/CheckboxField.spec.js +135 -0
- package/dist/recipes/fields/FormField.spec.d.ts +2 -0
- package/dist/recipes/fields/FormField.spec.d.ts.map +1 -0
- package/dist/recipes/fields/FormField.spec.js +159 -0
- package/dist/recipes/fields/RadioGroup.spec.d.ts +2 -0
- package/dist/recipes/fields/RadioGroup.spec.d.ts.map +1 -0
- package/dist/recipes/fields/RadioGroup.spec.js +199 -0
- package/dist/recipes/fields/SelectField.spec.d.ts +2 -0
- package/dist/recipes/fields/SelectField.spec.d.ts.map +1 -0
- package/dist/recipes/fields/SelectField.spec.js +188 -0
- package/dist/recipes/fields/TextareaField.spec.d.ts +2 -0
- package/dist/recipes/fields/TextareaField.spec.d.ts.map +1 -0
- package/dist/recipes/fields/TextareaField.spec.js +205 -0
- package/dist/recipes/fields/ToggleField.spec.d.ts +2 -0
- package/dist/recipes/fields/ToggleField.spec.d.ts.map +1 -0
- package/dist/recipes/fields/ToggleField.spec.js +153 -0
- package/dist/recipes/inputs/MultiSelect.spec.js +4 -3
- package/dist/recipes/inputs/MultiSelect.svelte +10 -3
- package/dist/recipes/inputs/MultiSelect.svelte.d.ts +2 -0
- package/dist/recipes/inputs/MultiSelect.svelte.d.ts.map +1 -1
- package/dist/recipes/inputs/OTPInput.spec.js +52 -39
- package/dist/recipes/inputs/PasswordInput.spec.d.ts +2 -0
- package/dist/recipes/inputs/PasswordInput.spec.d.ts.map +1 -0
- package/dist/recipes/inputs/PasswordInput.spec.js +410 -0
- package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.spec.js +253 -173
- package/dist/recipes/inputs/PasswordStrengthIndicator/TestWrapper.svelte +71 -0
- package/dist/recipes/inputs/PasswordStrengthIndicator/TestWrapper.svelte.d.ts +9 -0
- package/dist/recipes/inputs/PasswordStrengthIndicator/TestWrapper.svelte.d.ts.map +1 -0
- package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.spec.js +1246 -300
- package/dist/recipes/inputs/Search.spec.d.ts +2 -0
- package/dist/recipes/inputs/Search.spec.d.ts.map +1 -0
- package/dist/recipes/inputs/Search.spec.js +177 -0
- package/dist/recipes/inputs/SelectDropdown.spec.d.ts +2 -0
- package/dist/recipes/inputs/SelectDropdown.spec.d.ts.map +1 -0
- package/dist/recipes/inputs/SelectDropdown.spec.js +512 -0
- package/dist/recipes/modals/AlertModal.spec.d.ts +2 -0
- package/dist/recipes/modals/AlertModal.spec.d.ts.map +1 -0
- package/dist/recipes/modals/AlertModal.spec.js +432 -0
- package/dist/recipes/modals/ConfirmationModal.spec.js +36 -21
- package/dist/recipes/modals/InputModal.spec.d.ts +2 -0
- package/dist/recipes/modals/InputModal.spec.d.ts.map +1 -0
- package/dist/recipes/modals/InputModal.spec.js +872 -0
- package/dist/recipes/modals/ModalTestWrapper.spec.d.ts +2 -0
- package/dist/recipes/modals/ModalTestWrapper.spec.d.ts.map +1 -0
- package/dist/recipes/modals/ModalTestWrapper.spec.js +502 -0
- package/dist/recipes/modals/StatusModal.spec.d.ts +2 -0
- package/dist/recipes/modals/StatusModal.spec.d.ts.map +1 -0
- package/dist/recipes/modals/StatusModal.spec.js +599 -0
- package/dist/services/ShowService.spec.js +18 -15
- package/dist/stories/ButtonAuditDashboard.spec.d.ts +2 -0
- package/dist/stories/ButtonAuditDashboard.spec.d.ts.map +1 -0
- package/dist/stories/ButtonAuditDashboard.spec.js +913 -0
- package/dist/stories/ButtonAuditReview.spec.d.ts +2 -0
- package/dist/stories/ButtonAuditReview.spec.d.ts.map +1 -0
- package/dist/stories/ButtonAuditReview.spec.js +422 -0
- package/dist/stories/ButtonGridView.spec.d.ts +2 -0
- package/dist/stories/ButtonGridView.spec.d.ts.map +1 -0
- package/dist/stories/ButtonGridView.spec.js +667 -0
- package/dist/stories/ButtonShowcase.spec.d.ts +2 -0
- package/dist/stories/ButtonShowcase.spec.d.ts.map +1 -0
- package/dist/stories/ButtonShowcase.spec.js +499 -0
- package/dist/stories/PatternsGallery.spec.d.ts +2 -0
- package/dist/stories/PatternsGallery.spec.d.ts.map +1 -0
- package/dist/stories/PatternsGallery.spec.js +514 -0
- package/dist/stories/PrimitivesGallery.spec.d.ts +2 -0
- package/dist/stories/PrimitivesGallery.spec.d.ts.map +1 -0
- package/dist/stories/PrimitivesGallery.spec.js +813 -0
- package/dist/stories/RecipesGallery.spec.d.ts +2 -0
- package/dist/stories/RecipesGallery.spec.d.ts.map +1 -0
- package/dist/stories/RecipesGallery.spec.js +299 -0
- package/dist/stripe/useStripeTheme.spec.d.ts +2 -0
- package/dist/stripe/useStripeTheme.spec.d.ts.map +1 -0
- package/dist/stripe/useStripeTheme.spec.js +793 -0
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +6 -5
- package/dist/telemetry.spec.js +495 -12
- package/dist/tokens/__tests__/colors.test.d.ts +2 -0
- package/dist/tokens/__tests__/colors.test.d.ts.map +1 -0
- package/dist/tokens/__tests__/colors.test.js +152 -0
- package/dist/tokens/__tests__/radius.test.d.ts +2 -0
- package/dist/tokens/__tests__/radius.test.d.ts.map +1 -0
- package/dist/tokens/__tests__/radius.test.js +118 -0
- package/dist/tokens/__tests__/shadows.test.d.ts +2 -0
- package/dist/tokens/__tests__/shadows.test.d.ts.map +1 -0
- package/dist/tokens/__tests__/shadows.test.js +105 -0
- package/dist/tokens/__tests__/spacing.test.js +11 -8
- package/dist/tokens/__tests__/typography.test.d.ts +2 -0
- package/dist/tokens/__tests__/typography.test.d.ts.map +1 -0
- package/dist/tokens/__tests__/typography.test.js +156 -0
- package/dist/tokens/__tests__/z-index.test.d.ts +2 -0
- package/dist/tokens/__tests__/z-index.test.d.ts.map +1 -0
- package/dist/tokens/__tests__/z-index.test.js +121 -0
- package/dist/utils/apiConfig.spec.js +102 -1
- package/dist/utils/formatters.spec.d.ts +2 -0
- package/dist/utils/formatters.spec.d.ts.map +1 -0
- package/dist/utils/formatters.spec.js +82 -0
- package/dist/utils/transitions.spec.d.ts +2 -0
- package/dist/utils/transitions.spec.d.ts.map +1 -0
- package/dist/utils/transitions.spec.js +130 -0
- package/package.json +8 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonAuditReview.spec.d.ts","sourceRoot":"","sources":["../../src/lib/stories/ButtonAuditReview.spec.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,422 @@
|
|
|
1
|
+
import { render, screen } from '@testing-library/svelte';
|
|
2
|
+
import { expect, describe, it } from 'vitest';
|
|
3
|
+
import ButtonAuditReview from './ButtonAuditReview.svelte';
|
|
4
|
+
|
|
5
|
+
describe('ButtonAuditReview', () => {
|
|
6
|
+
describe('Component Rendering', () => {
|
|
7
|
+
it('should render the main heading', () => {
|
|
8
|
+
render(ButtonAuditReview);
|
|
9
|
+
expect(screen.getByText('Button Audit Review')).toBeInTheDocument();
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
it('should render the last updated date', () => {
|
|
13
|
+
render(ButtonAuditReview);
|
|
14
|
+
expect(screen.getByText('Last updated: December 30, 2024')).toBeInTheDocument();
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it('should render all main sections', () => {
|
|
18
|
+
render(ButtonAuditReview);
|
|
19
|
+
expect(screen.getAllByText(/Buttons Without Variant/).length).toBeGreaterThan(0);
|
|
20
|
+
expect(screen.getByText(/Visual Comparison: Current vs Recommended/)).toBeInTheDocument();
|
|
21
|
+
expect(screen.getByText(/Recent Fixes/)).toBeInTheDocument();
|
|
22
|
+
expect(screen.getByText(/Valid Variants Reference/)).toBeInTheDocument();
|
|
23
|
+
expect(screen.getByText('Button Variant Decision Guide')).toBeInTheDocument();
|
|
24
|
+
expect(screen.getAllByText(/How to Find Buttons Without Variant/).length).toBeGreaterThan(0);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
describe('Summary Cards', () => {
|
|
29
|
+
it('should render three summary cards', () => {
|
|
30
|
+
const { container } = render(ButtonAuditReview);
|
|
31
|
+
const summaryCards = container.querySelectorAll('.grid.grid-cols-3 > div');
|
|
32
|
+
expect(summaryCards).toHaveLength(3);
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
it('should display the total buttons without variant count (260)', () => {
|
|
36
|
+
render(ButtonAuditReview);
|
|
37
|
+
expect(screen.getByText('260')).toBeInTheDocument();
|
|
38
|
+
expect(screen.getAllByText('Buttons Without Variant').length).toBeGreaterThan(0);
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
it('should display the recent fix sessions count', () => {
|
|
42
|
+
const { container } = render(ButtonAuditReview);
|
|
43
|
+
expect(screen.getByText('Recent Fix Sessions')).toBeInTheDocument();
|
|
44
|
+
// Check the green card has the count 4
|
|
45
|
+
const greenCard = container.querySelector('.bg-green-50.border-green-400');
|
|
46
|
+
expect(greenCard?.textContent).toContain('4');
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
it('should display the valid variants count', () => {
|
|
50
|
+
const { container } = render(ButtonAuditReview);
|
|
51
|
+
expect(screen.getByText('Valid Variants')).toBeInTheDocument();
|
|
52
|
+
// Check the blue card has the count 15
|
|
53
|
+
const blueCards = container.querySelectorAll('.bg-blue-50.border-blue-400');
|
|
54
|
+
const summaryBlueCard = blueCards[0];
|
|
55
|
+
expect(summaryBlueCard?.textContent).toContain('15');
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
it('should render status badges on summary cards', () => {
|
|
59
|
+
render(ButtonAuditReview);
|
|
60
|
+
expect(screen.getByText('Needs Review')).toBeInTheDocument();
|
|
61
|
+
expect(screen.getByText('Today')).toBeInTheDocument();
|
|
62
|
+
expect(screen.getByText('Reference')).toBeInTheDocument();
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
describe('Buttons Without Variant Section', () => {
|
|
67
|
+
it('should render the warning icon', () => {
|
|
68
|
+
const { container } = render(ButtonAuditReview);
|
|
69
|
+
expect(container.textContent).toContain('⚠');
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
it('should render the table with correct headers', () => {
|
|
73
|
+
const { container } = render(ButtonAuditReview);
|
|
74
|
+
const table = container.querySelector('table');
|
|
75
|
+
expect(table).toBeInTheDocument();
|
|
76
|
+
const headers = table?.querySelectorAll('th');
|
|
77
|
+
expect(headers?.length).toBe(4);
|
|
78
|
+
expect(screen.getAllByText('File').length).toBeGreaterThan(0);
|
|
79
|
+
expect(screen.getAllByText('Count').length).toBeGreaterThan(0);
|
|
80
|
+
expect(screen.getAllByText('Context').length).toBeGreaterThan(0);
|
|
81
|
+
expect(screen.getAllByText('Status').length).toBeGreaterThan(0);
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
it('should render high priority items', () => {
|
|
85
|
+
render(ButtonAuditReview);
|
|
86
|
+
expect(screen.getByText('routes/a/profile/venue/add/+page.svelte')).toBeInTheDocument();
|
|
87
|
+
expect(screen.getByText('Add venue form')).toBeInTheDocument();
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
it('should render medium priority items', () => {
|
|
91
|
+
render(ButtonAuditReview);
|
|
92
|
+
expect(screen.getByText('routes/a/venues/[venueID]/[eventID]/tickets/+page.svelte')).toBeInTheDocument();
|
|
93
|
+
expect(screen.getByText('Event tickets')).toBeInTheDocument();
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
it('should render button counts correctly', () => {
|
|
97
|
+
const { container } = render(ButtonAuditReview);
|
|
98
|
+
const table = container.querySelector('table');
|
|
99
|
+
// High priority - 8 buttons
|
|
100
|
+
expect(table?.textContent).toContain('8');
|
|
101
|
+
// Check the table contains various counts
|
|
102
|
+
expect(table?.textContent).toContain('5');
|
|
103
|
+
expect(table?.textContent).toContain('3');
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
it('should display total count in summary box', () => {
|
|
107
|
+
render(ButtonAuditReview);
|
|
108
|
+
expect(screen.getByText(/Total: ~260 buttons/)).toBeInTheDocument();
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
describe('Visual Examples Section', () => {
|
|
113
|
+
it('should render all visual example categories', () => {
|
|
114
|
+
render(ButtonAuditReview);
|
|
115
|
+
expect(screen.getByText('Tertiary Actions (Edit, View, Details)')).toBeInTheDocument();
|
|
116
|
+
expect(screen.getByText('Cancel / Dismiss Buttons')).toBeInTheDocument();
|
|
117
|
+
expect(screen.getByText('Dropdown / Menu Items')).toBeInTheDocument();
|
|
118
|
+
expect(screen.getByText('Icon-Only Buttons')).toBeInTheDocument();
|
|
119
|
+
expect(screen.getByText('Primary CTAs (Correct as default)')).toBeInTheDocument();
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
it('should render category descriptions', () => {
|
|
123
|
+
render(ButtonAuditReview);
|
|
124
|
+
expect(screen.getByText('Text-only actions that should not compete with primary CTAs')).toBeInTheDocument();
|
|
125
|
+
expect(screen.getByText('Secondary actions that close modals or cancel operations')).toBeInTheDocument();
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
it('should render "Needs Fix" badge for incorrect categories', () => {
|
|
129
|
+
const { container } = render(ButtonAuditReview);
|
|
130
|
+
const needsFixBadges = container.querySelectorAll('.bg-red-100.text-red-700');
|
|
131
|
+
expect(needsFixBadges.length).toBeGreaterThan(0);
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
it('should render "Correct" badge for correct categories', () => {
|
|
135
|
+
const { container } = render(ButtonAuditReview);
|
|
136
|
+
const correctBadges = container.querySelectorAll('.bg-green-100.text-green-700');
|
|
137
|
+
expect(correctBadges.length).toBeGreaterThan(0);
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
it('should render current vs recommended comparison labels', () => {
|
|
141
|
+
render(ButtonAuditReview);
|
|
142
|
+
const currentLabels = screen.getAllByText('Current (no variant):');
|
|
143
|
+
const recommendedLabels = screen.getAllByText(/Recommended:/);
|
|
144
|
+
expect(currentLabels.length).toBeGreaterThan(0);
|
|
145
|
+
expect(recommendedLabels.length).toBeGreaterThan(0);
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
it('should render the key insight box', () => {
|
|
149
|
+
render(ButtonAuditReview);
|
|
150
|
+
expect(screen.getByText(/Key insight:/)).toBeInTheDocument();
|
|
151
|
+
expect(screen.getByText(/Buttons without variant all render as solid blue/)).toBeInTheDocument();
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
describe('Recent Fixes Section', () => {
|
|
156
|
+
it('should render the checkmark icon', () => {
|
|
157
|
+
const { container } = render(ButtonAuditReview);
|
|
158
|
+
expect(container.textContent).toContain('✓');
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
it('should render all recent fix descriptions', () => {
|
|
162
|
+
render(ButtonAuditReview);
|
|
163
|
+
expect(screen.getByText('Lineup page buttons')).toBeInTheDocument();
|
|
164
|
+
expect(screen.getByText('Edit spot modal performer search')).toBeInTheDocument();
|
|
165
|
+
expect(screen.getByText('Actions dropdown in LineupSection')).toBeInTheDocument();
|
|
166
|
+
expect(screen.getByText('Batch invalid variant fixes')).toBeInTheDocument();
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
it('should render fix items for lineup page buttons', () => {
|
|
170
|
+
render(ButtonAuditReview);
|
|
171
|
+
expect(screen.getByText('Changed + Add button to use Carbon Add icon with text-white')).toBeInTheDocument();
|
|
172
|
+
expect(screen.getByText('Changed + New spot button to use Carbon Add icon with text-white')).toBeInTheDocument();
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
it('should render fix items for modal performer search', () => {
|
|
176
|
+
render(ButtonAuditReview);
|
|
177
|
+
expect(screen.getByText('Added variant="menu-item" to performer search result buttons')).toBeInTheDocument();
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
it('should render fix items for actions dropdown', () => {
|
|
181
|
+
render(ButtonAuditReview);
|
|
182
|
+
expect(screen.getByText(/Fixed dropdown not opening/)).toBeInTheDocument();
|
|
183
|
+
expect(screen.getByText(/Added actionsDropdownOpen state/)).toBeInTheDocument();
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
it('should render batch fix items', () => {
|
|
187
|
+
render(ButtonAuditReview);
|
|
188
|
+
expect(screen.getByText(/alternative → gray-outline/)).toBeInTheDocument();
|
|
189
|
+
expect(screen.getByText(/default → blue-solid/)).toBeInTheDocument();
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
|
|
193
|
+
describe('Valid Variants Reference Section', () => {
|
|
194
|
+
it('should render all valid variant names', () => {
|
|
195
|
+
const { container } = render(ButtonAuditReview);
|
|
196
|
+
// Check that key variant names are present in the document
|
|
197
|
+
expect(container.textContent).toContain('default');
|
|
198
|
+
expect(container.textContent).toContain('alternative');
|
|
199
|
+
expect(container.textContent).toContain('outline');
|
|
200
|
+
expect(container.textContent).toContain('red');
|
|
201
|
+
expect(container.textContent).toContain('ghost');
|
|
202
|
+
expect(container.textContent).toContain('icon');
|
|
203
|
+
expect(container.textContent).toContain('toggle');
|
|
204
|
+
expect(container.textContent).toContain('menu-item');
|
|
205
|
+
expect(container.textContent).toContain('link');
|
|
206
|
+
expect(container.textContent).toContain('card');
|
|
207
|
+
expect(container.textContent).toContain('nav');
|
|
208
|
+
});
|
|
209
|
+
|
|
210
|
+
it('should render variant usage descriptions', () => {
|
|
211
|
+
render(ButtonAuditReview);
|
|
212
|
+
expect(screen.getByText('Main CTAs, Save, Submit')).toBeInTheDocument();
|
|
213
|
+
expect(screen.getByText('Cancel, Secondary actions')).toBeInTheDocument();
|
|
214
|
+
expect(screen.getByText('Delete, destructive actions')).toBeInTheDocument();
|
|
215
|
+
});
|
|
216
|
+
|
|
217
|
+
it('should render variant aliases where applicable', () => {
|
|
218
|
+
const { container } = render(ButtonAuditReview);
|
|
219
|
+
// Check within the Valid Variants section
|
|
220
|
+
const validVariantsSection = Array.from(container.querySelectorAll('section')).find(
|
|
221
|
+
section => section.textContent.includes('Valid Variants Reference')
|
|
222
|
+
);
|
|
223
|
+
expect(validVariantsSection?.textContent).toContain('blue-solid');
|
|
224
|
+
expect(validVariantsSection?.textContent).toContain('gray-outline');
|
|
225
|
+
expect(validVariantsSection?.textContent).toContain('blue-outline');
|
|
226
|
+
});
|
|
227
|
+
|
|
228
|
+
it('should display all 15 variants in grid layout', () => {
|
|
229
|
+
const { container } = render(ButtonAuditReview);
|
|
230
|
+
const variantCards = container.querySelectorAll('.grid.grid-cols-2 > div');
|
|
231
|
+
expect(variantCards.length).toBeGreaterThanOrEqual(15);
|
|
232
|
+
});
|
|
233
|
+
});
|
|
234
|
+
|
|
235
|
+
describe('Decision Guide Section', () => {
|
|
236
|
+
it('should render the decision guide heading', () => {
|
|
237
|
+
render(ButtonAuditReview);
|
|
238
|
+
expect(screen.getByText('Button Variant Decision Guide')).toBeInTheDocument();
|
|
239
|
+
});
|
|
240
|
+
|
|
241
|
+
it('should render "When to use each variant" section', () => {
|
|
242
|
+
render(ButtonAuditReview);
|
|
243
|
+
expect(screen.getByText('When to use each variant')).toBeInTheDocument();
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
it('should render usage guidelines for variants', () => {
|
|
247
|
+
const { container } = render(ButtonAuditReview);
|
|
248
|
+
const decisionGuide = Array.from(container.querySelectorAll('section')).find(
|
|
249
|
+
section => section.textContent.includes('Button Variant Decision Guide')
|
|
250
|
+
);
|
|
251
|
+
expect(decisionGuide?.textContent).toContain('Primary CTAs: Save, Submit');
|
|
252
|
+
expect(decisionGuide?.textContent).toContain('Secondary CTAs: Invite, Export');
|
|
253
|
+
expect(decisionGuide?.textContent).toContain('Cancel, Close, Filter');
|
|
254
|
+
expect(decisionGuide?.textContent).toContain('Delete confirmations, destructive actions');
|
|
255
|
+
});
|
|
256
|
+
|
|
257
|
+
it('should render "Common mistakes" section', () => {
|
|
258
|
+
render(ButtonAuditReview);
|
|
259
|
+
expect(screen.getByText('Common mistakes')).toBeInTheDocument();
|
|
260
|
+
});
|
|
261
|
+
|
|
262
|
+
it('should render mistake examples', () => {
|
|
263
|
+
render(ButtonAuditReview);
|
|
264
|
+
expect(screen.getByText(/No variant on dropdown items/)).toBeInTheDocument();
|
|
265
|
+
expect(screen.getByText(/No variant on Cancel/)).toBeInTheDocument();
|
|
266
|
+
expect(screen.getByText(/Invalid variant names fall back to default/)).toBeInTheDocument();
|
|
267
|
+
});
|
|
268
|
+
|
|
269
|
+
it('should render the tip box', () => {
|
|
270
|
+
render(ButtonAuditReview);
|
|
271
|
+
expect(screen.getByText(/Tip:/)).toBeInTheDocument();
|
|
272
|
+
expect(screen.getByText(/When in doubt, use alternative for secondary actions/)).toBeInTheDocument();
|
|
273
|
+
});
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
describe('How to Find Issues Section', () => {
|
|
277
|
+
it('should render the grep command', () => {
|
|
278
|
+
const { container } = render(ButtonAuditReview);
|
|
279
|
+
expect(container.textContent).toContain('grep -rn');
|
|
280
|
+
expect(container.textContent).toContain('--include="*.svelte"');
|
|
281
|
+
});
|
|
282
|
+
|
|
283
|
+
it('should render the instruction text', () => {
|
|
284
|
+
render(ButtonAuditReview);
|
|
285
|
+
expect(screen.getByText('Run this command in micdrop-frontend:')).toBeInTheDocument();
|
|
286
|
+
});
|
|
287
|
+
});
|
|
288
|
+
|
|
289
|
+
describe('Layout and Structure', () => {
|
|
290
|
+
it('should have proper max-width container', () => {
|
|
291
|
+
const { container } = render(ButtonAuditReview);
|
|
292
|
+
const mainContainer = container.querySelector('.max-w-7xl');
|
|
293
|
+
expect(mainContainer).toBeInTheDocument();
|
|
294
|
+
});
|
|
295
|
+
|
|
296
|
+
it('should have proper spacing between sections', () => {
|
|
297
|
+
const { container } = render(ButtonAuditReview);
|
|
298
|
+
const spacedContainer = container.querySelector('.space-y-8');
|
|
299
|
+
expect(spacedContainer).toBeInTheDocument();
|
|
300
|
+
});
|
|
301
|
+
|
|
302
|
+
it('should render all sections with proper borders', () => {
|
|
303
|
+
const { container } = render(ButtonAuditReview);
|
|
304
|
+
const borderedSections = container.querySelectorAll('.border-2');
|
|
305
|
+
expect(borderedSections.length).toBeGreaterThan(0);
|
|
306
|
+
});
|
|
307
|
+
});
|
|
308
|
+
|
|
309
|
+
describe('Color Coding and Visual Indicators', () => {
|
|
310
|
+
it('should use yellow theme for buttons without variant section', () => {
|
|
311
|
+
const { container } = render(ButtonAuditReview);
|
|
312
|
+
const yellowSection = container.querySelector('.bg-yellow-50.border-yellow-400');
|
|
313
|
+
expect(yellowSection).toBeInTheDocument();
|
|
314
|
+
});
|
|
315
|
+
|
|
316
|
+
it('should use orange theme for visual comparison section', () => {
|
|
317
|
+
const { container } = render(ButtonAuditReview);
|
|
318
|
+
const orangeSection = container.querySelector('.bg-orange-50.border-orange-400');
|
|
319
|
+
expect(orangeSection).toBeInTheDocument();
|
|
320
|
+
});
|
|
321
|
+
|
|
322
|
+
it('should use green theme for recent fixes section', () => {
|
|
323
|
+
const { container } = render(ButtonAuditReview);
|
|
324
|
+
const greenSection = container.querySelector('.bg-green-50.border-green-400');
|
|
325
|
+
expect(greenSection).toBeInTheDocument();
|
|
326
|
+
});
|
|
327
|
+
|
|
328
|
+
it('should use blue theme for decision guide section', () => {
|
|
329
|
+
const { container } = render(ButtonAuditReview);
|
|
330
|
+
const blueSection = container.querySelector('.bg-blue-50.border-blue-400');
|
|
331
|
+
expect(blueSection).toBeInTheDocument();
|
|
332
|
+
});
|
|
333
|
+
});
|
|
334
|
+
|
|
335
|
+
describe('Data Integrity', () => {
|
|
336
|
+
it('should display consistent button count across sections', () => {
|
|
337
|
+
const { container } = render(ButtonAuditReview);
|
|
338
|
+
// Check that 260 appears in summary card
|
|
339
|
+
expect(screen.getByText('260')).toBeInTheDocument();
|
|
340
|
+
// Check that ~260 appears in total message
|
|
341
|
+
expect(screen.getByText(/~260 buttons/)).toBeInTheDocument();
|
|
342
|
+
});
|
|
343
|
+
|
|
344
|
+
it('should display correct date for all recent fixes', () => {
|
|
345
|
+
const { container } = render(ButtonAuditReview);
|
|
346
|
+
// Check that December 30, 2024 appears in multiple places
|
|
347
|
+
const matches = screen.getAllByText(/December 30, 2024/);
|
|
348
|
+
expect(matches.length).toBeGreaterThan(0);
|
|
349
|
+
});
|
|
350
|
+
|
|
351
|
+
it('should render all table rows for buttons without variant', () => {
|
|
352
|
+
const { container } = render(ButtonAuditReview);
|
|
353
|
+
// Should have high priority, medium priority, and remaining items
|
|
354
|
+
const tableRows = container.querySelectorAll('tbody tr');
|
|
355
|
+
expect(tableRows.length).toBeGreaterThan(0);
|
|
356
|
+
});
|
|
357
|
+
});
|
|
358
|
+
|
|
359
|
+
describe('Interactive Elements', () => {
|
|
360
|
+
it('should render buttons in visual examples', () => {
|
|
361
|
+
const { container } = render(ButtonAuditReview);
|
|
362
|
+
// Should have buttons for current and recommended states
|
|
363
|
+
const buttons = container.querySelectorAll('button');
|
|
364
|
+
expect(buttons.length).toBeGreaterThan(0);
|
|
365
|
+
});
|
|
366
|
+
|
|
367
|
+
it('should render buttons with different variants in reference section', () => {
|
|
368
|
+
const { container } = render(ButtonAuditReview);
|
|
369
|
+
// Valid variants section should contain multiple button instances
|
|
370
|
+
const validVariantsSection = Array.from(container.querySelectorAll('section')).find(
|
|
371
|
+
section => section.textContent.includes('Valid Variants Reference')
|
|
372
|
+
);
|
|
373
|
+
expect(validVariantsSection).toBeInTheDocument();
|
|
374
|
+
const buttonsInSection = validVariantsSection?.querySelectorAll('button');
|
|
375
|
+
expect(buttonsInSection?.length).toBeGreaterThan(0);
|
|
376
|
+
});
|
|
377
|
+
});
|
|
378
|
+
|
|
379
|
+
describe('Accessibility', () => {
|
|
380
|
+
it('should use semantic HTML structure', () => {
|
|
381
|
+
const { container } = render(ButtonAuditReview);
|
|
382
|
+
expect(container.querySelector('h1')).toBeInTheDocument();
|
|
383
|
+
expect(container.querySelector('h2')).toBeInTheDocument();
|
|
384
|
+
expect(container.querySelector('h3')).toBeInTheDocument();
|
|
385
|
+
});
|
|
386
|
+
|
|
387
|
+
it('should have proper table structure', () => {
|
|
388
|
+
const { container } = render(ButtonAuditReview);
|
|
389
|
+
const table = container.querySelector('table');
|
|
390
|
+
expect(table).toBeInTheDocument();
|
|
391
|
+
expect(table?.querySelector('thead')).toBeInTheDocument();
|
|
392
|
+
expect(table?.querySelector('tbody')).toBeInTheDocument();
|
|
393
|
+
});
|
|
394
|
+
|
|
395
|
+
it('should use code elements for code snippets', () => {
|
|
396
|
+
const { container } = render(ButtonAuditReview);
|
|
397
|
+
const codeElements = container.querySelectorAll('code');
|
|
398
|
+
expect(codeElements.length).toBeGreaterThan(0);
|
|
399
|
+
});
|
|
400
|
+
});
|
|
401
|
+
|
|
402
|
+
describe('Content Completeness', () => {
|
|
403
|
+
it('should render all emoji indicators', () => {
|
|
404
|
+
const { container } = render(ButtonAuditReview);
|
|
405
|
+
expect(container.textContent).toContain('⚠');
|
|
406
|
+
expect(container.textContent).toContain('👁');
|
|
407
|
+
expect(container.textContent).toContain('✓');
|
|
408
|
+
});
|
|
409
|
+
|
|
410
|
+
it('should render all status badges', () => {
|
|
411
|
+
render(ButtonAuditReview);
|
|
412
|
+
expect(screen.getAllByText('Review').length).toBeGreaterThan(0);
|
|
413
|
+
});
|
|
414
|
+
|
|
415
|
+
it('should contain comprehensive guidance text', () => {
|
|
416
|
+
const { container } = render(ButtonAuditReview);
|
|
417
|
+
expect(container.textContent).toContain('variant');
|
|
418
|
+
expect(container.textContent).toContain('blue-solid');
|
|
419
|
+
expect(container.textContent).toContain('visual hierarchy');
|
|
420
|
+
});
|
|
421
|
+
});
|
|
422
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonGridView.spec.d.ts","sourceRoot":"","sources":["../../src/lib/stories/ButtonGridView.spec.js"],"names":[],"mappings":""}
|