From a1011f0c012bf869ea7613e76ac3fec3f5407f70 Mon Sep 17 00:00:00 2001
From: alesiahil <112590025+alesiahil@users.noreply.github.com>
Date: Fri, 15 Aug 2025 00:00:29 +0300
Subject: [PATCH 1/2] fix(toolbar): 21890 enable mouse wheel horizontal scroll
---
.../ToolbarContent/ToolbarContent.test.tsx | 49 +++++++++++++++++++
.../ToolbarContent/ToolbarContent.tsx | 2 +-
2 files changed, 50 insertions(+), 1 deletion(-)
create mode 100644 src/features/toolbar/components/ToolbarContent/ToolbarContent.test.tsx
diff --git a/src/features/toolbar/components/ToolbarContent/ToolbarContent.test.tsx b/src/features/toolbar/components/ToolbarContent/ToolbarContent.test.tsx
new file mode 100644
index 000000000..5796ff54b
--- /dev/null
+++ b/src/features/toolbar/components/ToolbarContent/ToolbarContent.test.tsx
@@ -0,0 +1,49 @@
+/**
+ * @vitest-environment happy-dom
+ */
+import React from 'react';
+import { render } from '@testing-library/react';
+import { test, expect, vi } from 'vitest';
+
+vi.mock('~features/toolbar/hooks/use-toolbar-content', () => ({
+ useToolbarContent: () => [
+ {
+ buttons: [
+ {
+ id: 'test-control',
+ settings: {} as any,
+ stateAtom: {} as any,
+ },
+ ],
+ },
+ ],
+}));
+
+vi.mock('../ToolbarControl/ToolbarControl', () => ({
+ ToolbarControl: ({ id }: { id: string }) => (
+
+ ),
+}));
+
+vi.mock('../ToolbarButton/ToolbarButton', () => ({
+ ToolbarButton: () => ,
+}));
+
+vi.mock('@konturio/default-icons', () => ({}));
+vi.mock('@konturio/default-icons/tslib/index.js', () => ({}));
+
+test('scrollLeft changes on vertical wheel events', async () => {
+ const { ToolbarContent } = await import('./ToolbarContent');
+ const { getByTestId } = render();
+ const scroll = getByTestId('toolbar-content');
+
+ Object.defineProperty(scroll, 'scrollWidth', { value: 300, configurable: true });
+ Object.defineProperty(scroll, 'clientWidth', { value: 100, configurable: true });
+
+ scroll.dispatchEvent(new WheelEvent('wheel', { deltaY: 50, bubbles: true }));
+
+ expect(
+ (scroll as HTMLDivElement).scrollLeft > 0,
+ `scrollLeft should change after wheel event, got ${(scroll as HTMLDivElement).scrollLeft}`,
+ ).toBe(true);
+});
diff --git a/src/features/toolbar/components/ToolbarContent/ToolbarContent.tsx b/src/features/toolbar/components/ToolbarContent/ToolbarContent.tsx
index e79b6ca60..40101de55 100644
--- a/src/features/toolbar/components/ToolbarContent/ToolbarContent.tsx
+++ b/src/features/toolbar/components/ToolbarContent/ToolbarContent.tsx
@@ -11,7 +11,7 @@ export const ToolbarContent = () => {
useWheelHorizontalScroll(scrollRef);
return (
-
+
{toolbarContent.map(({ id, settings, stateAtom }) => (
Date: Wed, 27 Aug 2025 13:57:32 +0300
Subject: [PATCH 2/2] Delete
src/features/toolbar/components/ToolbarContent/ToolbarContent.test.tsx
---
.../ToolbarContent/ToolbarContent.test.tsx | 49 -------------------
1 file changed, 49 deletions(-)
delete mode 100644 src/features/toolbar/components/ToolbarContent/ToolbarContent.test.tsx
diff --git a/src/features/toolbar/components/ToolbarContent/ToolbarContent.test.tsx b/src/features/toolbar/components/ToolbarContent/ToolbarContent.test.tsx
deleted file mode 100644
index 5796ff54b..000000000
--- a/src/features/toolbar/components/ToolbarContent/ToolbarContent.test.tsx
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * @vitest-environment happy-dom
- */
-import React from 'react';
-import { render } from '@testing-library/react';
-import { test, expect, vi } from 'vitest';
-
-vi.mock('~features/toolbar/hooks/use-toolbar-content', () => ({
- useToolbarContent: () => [
- {
- buttons: [
- {
- id: 'test-control',
- settings: {} as any,
- stateAtom: {} as any,
- },
- ],
- },
- ],
-}));
-
-vi.mock('../ToolbarControl/ToolbarControl', () => ({
- ToolbarControl: ({ id }: { id: string }) => (
-
- ),
-}));
-
-vi.mock('../ToolbarButton/ToolbarButton', () => ({
- ToolbarButton: () => ,
-}));
-
-vi.mock('@konturio/default-icons', () => ({}));
-vi.mock('@konturio/default-icons/tslib/index.js', () => ({}));
-
-test('scrollLeft changes on vertical wheel events', async () => {
- const { ToolbarContent } = await import('./ToolbarContent');
- const { getByTestId } = render();
- const scroll = getByTestId('toolbar-content');
-
- Object.defineProperty(scroll, 'scrollWidth', { value: 300, configurable: true });
- Object.defineProperty(scroll, 'clientWidth', { value: 100, configurable: true });
-
- scroll.dispatchEvent(new WheelEvent('wheel', { deltaY: 50, bubbles: true }));
-
- expect(
- (scroll as HTMLDivElement).scrollLeft > 0,
- `scrollLeft should change after wheel event, got ${(scroll as HTMLDivElement).scrollLeft}`,
- ).toBe(true);
-});