import { render, screen } from '@testing-library/react' import { NUM_INFINITE } from '../config' import UsageInfo from './index' const TestIcon = () => describe('UsageInfo', () => { it('renders the metric with a suffix unit and tooltip text', () => { render( , ) expect(screen.getByTestId('usage-icon')).toBeInTheDocument() expect(screen.getByText('Apps')).toBeInTheDocument() expect(screen.getByText('30')).toBeInTheDocument() expect(screen.getByText('100')).toBeInTheDocument() expect(screen.getByText('GB')).toBeInTheDocument() }) it('renders inline unit when unitPosition is inline', () => { render( , ) expect(screen.getByText('100GB')).toBeInTheDocument() }) it('shows reset hint text instead of the unit when resetHint is provided', () => { const resetHint = 'Resets in 3 days' render( , ) expect(screen.getByText(resetHint)).toBeInTheDocument() expect(screen.queryByText('GB')).not.toBeInTheDocument() }) it('displays unlimited text when total is infinite', () => { render( , ) expect(screen.getByText('billing.plansCommon.unlimited')).toBeInTheDocument() }) it('applies warning color when usage is close to the limit', () => { render( , ) const progressBar = screen.getByTestId('billing-progress-bar') expect(progressBar).toHaveClass('bg-components-progress-warning-progress') }) it('applies error color when usage exceeds the limit', () => { render( , ) const progressBar = screen.getByTestId('billing-progress-bar') expect(progressBar).toHaveClass('bg-components-progress-error-progress') }) it('does not render the icon when hideIcon is true', () => { render( , ) expect(screen.queryByTestId('usage-icon')).not.toBeInTheDocument() }) })