diff --git a/packages/react/__tests__/__snapshots__/PublicAPI-test.js.snap b/packages/react/__tests__/__snapshots__/PublicAPI-test.js.snap index 036acc7a161c..876180ab74cc 100644 --- a/packages/react/__tests__/__snapshots__/PublicAPI-test.js.snap +++ b/packages/react/__tests__/__snapshots__/PublicAPI-test.js.snap @@ -8325,6 +8325,9 @@ Map { "placeholder": Object { "type": "string", }, + "readOnly": Object { + "type": "bool", + }, "size": Object { "args": Array [ Array [ diff --git a/packages/react/src/components/TimePicker/TimePicker-test.js b/packages/react/src/components/TimePicker/TimePicker-test.js index 7aec125bb018..59ca5f2e899b 100644 --- a/packages/react/src/components/TimePicker/TimePicker-test.js +++ b/packages/react/src/components/TimePicker/TimePicker-test.js @@ -7,7 +7,8 @@ import React from 'react'; import { default as TimePicker } from './TimePicker'; - +import SelectItem from '../SelectItem'; +import TimePickerSelect from '../TimePickerSelect/next/TimePickerSelect.js'; import { render, screen, fireEvent } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; @@ -40,6 +41,51 @@ describe('TimePicker', () => { expect(onClick).not.toHaveBeenCalled(); }); + it('should behave readonly as expected', () => { + const onClick = jest.fn(); + const onChange = jest.fn(); + + render( + + + + + + + + + + + ); + + const input = screen.getByRole('textbox'); + userEvent.click(input); + expect(onClick).toHaveBeenCalled(); + expect(input).toHaveAttribute('readonly'); + + userEvent.type(input, '01:50'); + expect(onChange).not.toHaveBeenCalled(); + + screen.getByDisplayValue('AM'); + screen.getByDisplayValue('Time zone 1'); + + //------------------------------------------------------------------------ + // Testing library - userEvent.type() does not work on