import * as React from 'react'; import { render, screen } from '@testing-library/react'; import ProgressBar from '../ProgressBar'; describe('elements/content-uploader/ProgressBar', () => { test('initializes with default percent if not provided', () => { render(); expect(screen.getByRole('progressbar').style.width).toEqual('0%'); }); test('handles progress percent correctly when updated to 100%', () => { const { rerender } = render(); rerender(); expect(screen.getByRole('progressbar').style.width).toEqual('100%'); }); test('does not exceed 100% width when percent is over 100', () => { render(); expect(screen.getByRole('progressbar').style.width).toEqual('100%'); }); test('does not go below 0% width when percent is negative', () => { render(); expect(screen.getByRole('progressbar').style.width).toEqual('0%'); }); test('updates transition delay based on percent', () => { const { rerender } = render(); // @ts-ignore style does exsist expect(screen.getByRole('progressbar').parentNode.style.transitionDelay).toEqual('0.4s'); rerender(); // @ts-ignore style does exist expect(screen.getByRole('progressbar').parentNode.style.transitionDelay).toEqual('0'); }); });