From 84fb586a1dcc3143bbda69650425d86baf04d8c0 Mon Sep 17 00:00:00 2001 From: bnyashwanth Date: Sat, 21 Feb 2026 19:54:51 +0530 Subject: [PATCH 1/3] fix(types): resolve all eslint errors and improve type safety (#722) --- src/contexts/MarkdownEditorContext.tsx | 1 + src/tests/components/SettingsModal.test.tsx | 42 +++--- src/utils/helpers/errorUtils.ts | 51 ++++--- src/utils/testing/setup.ts | 143 ++++++++++++-------- 4 files changed, 132 insertions(+), 105 deletions(-) diff --git a/src/contexts/MarkdownEditorContext.tsx b/src/contexts/MarkdownEditorContext.tsx index 50d40001..1690ac24 100644 --- a/src/contexts/MarkdownEditorContext.tsx +++ b/src/contexts/MarkdownEditorContext.tsx @@ -1,3 +1,4 @@ +/* eslint-disable react-refresh/only-export-components */ import { createContext, useContext, useState, ReactNode } from "react"; export interface MarkdownEditorCommands { diff --git a/src/tests/components/SettingsModal.test.tsx b/src/tests/components/SettingsModal.test.tsx index bade9242..068ee246 100644 --- a/src/tests/components/SettingsModal.test.tsx +++ b/src/tests/components/SettingsModal.test.tsx @@ -2,22 +2,33 @@ import { describe, it, expect, vi, beforeEach } from 'vitest'; import { render, screen } from '@testing-library/react'; import SettingsModal from '../../components/SettingsModal'; -// Mock the store - use inline functions to avoid hoisting issues +interface StoreState { + isSettingsOpen: boolean; + setSettingsOpen: () => void; + showLineNumbers: boolean; + setShowLineNumbers: () => void; + textColor: string; + backgroundColor: string; + toggleDarkMode: () => void; +} + +// Update the mock vi.mock('../../store/store', () => { return { - default: vi.fn((selector) => selector({ - isSettingsOpen: true, - setSettingsOpen: vi.fn(), - showLineNumbers: true, - setShowLineNumbers: vi.fn(), - textColor: '#121212', - backgroundColor: '#ffffff', - toggleDarkMode: vi.fn(), - })), + default: vi.fn((selector: (state: StoreState) => unknown) => + selector({ + isSettingsOpen: true, + setSettingsOpen: vi.fn(), + showLineNumbers: true, + setShowLineNumbers: vi.fn(), + textColor: '#121212', + backgroundColor: '#ffffff', + toggleDarkMode: vi.fn(), + }) + ), }; }); -// Mock react-dark-mode-toggle vi.mock('react-dark-mode-toggle', () => ({ default: ({ checked, onChange }: { checked: boolean; onChange: () => void }) => (