Remove flag from
Signed-off-by: Philipp Hugenroth <philipph@spotify.com>
This commit is contained in:
@@ -81,14 +81,11 @@ export function HeaderTabs(props: HeaderTabsProps) {
|
||||
const styles = useStyles();
|
||||
|
||||
const handleChange = useCallback(
|
||||
(e: React.ChangeEvent<{}>, index: number) => {
|
||||
(_: React.ChangeEvent<{}>, index: number) => {
|
||||
if (selectedIndex === undefined) {
|
||||
setSelectedTab(index);
|
||||
}
|
||||
|
||||
if (e.type === 'focus') {
|
||||
onChange?.(index);
|
||||
}
|
||||
if (onChange) onChange(index);
|
||||
},
|
||||
[selectedIndex, onChange],
|
||||
);
|
||||
@@ -102,7 +99,6 @@ export function HeaderTabs(props: HeaderTabsProps) {
|
||||
return (
|
||||
<Box className={styles.tabsWrapper}>
|
||||
<Tabs
|
||||
selectionFollowsFocus
|
||||
indicatorColor="primary"
|
||||
textColor="inherit"
|
||||
variant="scrollable"
|
||||
|
||||
@@ -18,6 +18,7 @@ import { renderInTestApp, wrapInTestApp } from '@backstage/test-utils';
|
||||
import { fireEvent, render, screen } from '@testing-library/react';
|
||||
import React from 'react';
|
||||
import { CardTab, TabbedCard } from './TabbedCard';
|
||||
import userEvent from '@testing-library/user-event';
|
||||
|
||||
const minProps = {
|
||||
title: 'Some title',
|
||||
@@ -96,4 +97,25 @@ describe('<TabbedCard />', () => {
|
||||
);
|
||||
expect(screen.getByText('Test Content 2')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('should trigger onChange only once', async () => {
|
||||
const mockOnChange = jest.fn();
|
||||
const user = userEvent.setup();
|
||||
|
||||
const rendered = render(
|
||||
wrapInTestApp(
|
||||
<TabbedCard onChange={mockOnChange}>
|
||||
<CardTab value="one" label="Test 1">
|
||||
Test Content 1
|
||||
</CardTab>
|
||||
<CardTab value="two" label="Test 2">
|
||||
Test Content 2
|
||||
</CardTab>
|
||||
</TabbedCard>,
|
||||
),
|
||||
);
|
||||
|
||||
await user.click(rendered.getByText('Test 2'));
|
||||
expect(mockOnChange).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -114,7 +114,6 @@ export function TabbedCard(props: PropsWithChildren<Props>) {
|
||||
<ErrorBoundary {...errProps}>
|
||||
{title && <BoldHeader title={title} />}
|
||||
<Tabs
|
||||
selectionFollowsFocus
|
||||
classes={tabsClasses}
|
||||
value={value || selectedIndex}
|
||||
onChange={handleChange}
|
||||
|
||||
Reference in New Issue
Block a user