diff --git a/.github/workflows/private-trigger.yml b/.github/workflows/private-trigger.yml index e9c7d147..c9081a14 100644 --- a/.github/workflows/private-trigger.yml +++ b/.github/workflows/private-trigger.yml @@ -55,8 +55,9 @@ jobs: continue-on-error: true - name: Build project - run: npm run build - # SonarQube scan - ONLY on push (not PR) + run: + npm run build + # SonarQube scan - ONLY on push (not PR) - name: SonarQube Scan if: github.event_name == 'push' uses: SonarSource/sonarqube-scan-action@v5.0.0 @@ -75,7 +76,7 @@ jobs: needs: test-and-build if: github.event_name != 'pull_request' runs-on: ubuntu-latest - steps: + steps: - name: Trigger public repo workflow run: | curl -X POST \ diff --git a/src/components/ui/forms/types.ts b/src/components/ui/forms/types.ts index ad428390..702ab89d 100644 --- a/src/components/ui/forms/types.ts +++ b/src/components/ui/forms/types.ts @@ -97,9 +97,7 @@ export interface FormHandlers { } export interface FormContainerProps - extends GenericAuthFormProps, - FormState, - FormHandlers { + extends GenericAuthFormProps, FormState, FormHandlers { displayMode: 'modal' | 'fullpage'; onClose?: () => void; className?: string; @@ -152,9 +150,7 @@ export interface SocialLoginSectionProps { } export interface FormContentProps - extends GenericAuthFormProps, - FormState, - FormHandlers { + extends GenericAuthFormProps, FormState, FormHandlers { onSwitchModal?: (newType: AuthModalType) => void; loading: boolean; isFormValid: boolean; diff --git a/src/components/ui/input/types.ts b/src/components/ui/input/types.ts index d9ad114a..a569f426 100644 --- a/src/components/ui/input/types.ts +++ b/src/components/ui/input/types.ts @@ -19,10 +19,9 @@ export interface CharCounterProps { maxLength: number; } -export interface InputBaseProps - extends React.HTMLAttributes< - HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement - > { +export interface InputBaseProps extends React.HTMLAttributes< + HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement +> { // loosened ref type to support both input and textarea refs inputRef?: React.Ref< HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement diff --git a/src/features/layout/tests/EmptySpace.test.tsx b/src/features/layout/tests/EmptySpace.test.tsx new file mode 100644 index 00000000..6b21b186 --- /dev/null +++ b/src/features/layout/tests/EmptySpace.test.tsx @@ -0,0 +1,25 @@ +import { describe, it, expect } from 'vitest'; +import { render } from '@/test/test-utils'; +import EmptySpace from '../components/EmptySpace'; + +describe('EmptySpace', () => { + it('should render without crashing', () => { + const { container } = render(); + + expect(container).toBeInTheDocument(); + }); + + it('should render a div element', () => { + const { container } = render(); + const emptySpace = container.firstChild; + + expect(emptySpace).toBeInTheDocument(); + }); + + it('should have appropriate spacing classes', () => { + const { container } = render(); + const emptySpace = container.firstChild as HTMLElement; + + expect(emptySpace.className).toBeTruthy(); + }); +}); diff --git a/src/features/layout/tests/Footer.test.tsx b/src/features/layout/tests/Footer.test.tsx new file mode 100644 index 00000000..8918ad23 --- /dev/null +++ b/src/features/layout/tests/Footer.test.tsx @@ -0,0 +1,37 @@ +import { describe, it, expect } from 'vitest'; +import { render, screen } from '@/test/test-utils'; +import Footer from '../components/Footer'; + +describe('Footer', () => { + it('should render footer content', () => { + const { container } = render(