@@ -144,7 +144,7 @@ describe('<ScheduleAndDetails />', () => {
144144 const { getAllByPlaceholderText, getByText } = renderComponent ( ) ;
145145 let inputs ;
146146 await waitFor ( ( ) => {
147- inputs = getAllByPlaceholderText ( DATE_FORMAT . toLocaleUpperCase ( ) ) ;
147+ inputs = getAllByPlaceholderText ( DATE_FORMAT . toUpperCase ( ) ) ;
148148 } ) ;
149149 // @ts -ignore
150150 fireEvent . change ( inputs [ 0 ] , { target : { value : '06/16/2023' } } ) ;
@@ -234,7 +234,7 @@ describe('<ScheduleAndDetails /> permissions', () => {
234234 mockPermissions ( { canEditSchedule : false } ) ;
235235 const { getAllByPlaceholderText } = renderComponent ( ) ;
236236 await waitFor ( ( ) => {
237- const dateInputs = getAllByPlaceholderText ( DATE_FORMAT . toLocaleUpperCase ( ) ) ;
237+ const dateInputs = getAllByPlaceholderText ( DATE_FORMAT . toUpperCase ( ) ) ;
238238 dateInputs . forEach ( ( input ) => expect ( input ) . toBeDisabled ( ) ) ;
239239 } ) ;
240240 } ) ;
@@ -249,12 +249,24 @@ describe('<ScheduleAndDetails /> permissions', () => {
249249 } ) ;
250250 } ) ;
251251
252+ it ( 'keeps schedule inputs editable while disabling details when only canEditSchedule is granted' , async ( ) => {
253+ mockWaffleFlags ( { enableAuthzCourseAuthoring : true } ) ;
254+ mockPermissions ( { canEditDetails : false } ) ;
255+ const { getAllByPlaceholderText, getAllByRole } = renderComponent ( ) ;
256+ await waitFor ( ( ) => {
257+ const dateInputs = getAllByPlaceholderText ( DATE_FORMAT . toUpperCase ( ) ) ;
258+ dateInputs . forEach ( ( input ) => expect ( input ) . not . toBeDisabled ( ) ) ;
259+ const radios = getAllByRole ( 'radio' ) ;
260+ radios . forEach ( ( radio ) => expect ( radio ) . toBeDisabled ( ) ) ;
261+ } ) ;
262+ } ) ;
263+
252264 it ( 'save button cannot be triggered when user has no edit permissions' , async ( ) => {
253265 mockWaffleFlags ( { enableAuthzCourseAuthoring : true } ) ;
254266 mockPermissions ( { canEditSchedule : false , canEditDetails : false } ) ;
255267 const { getAllByPlaceholderText, queryByText } = renderComponent ( ) ;
256268 // Wait for page to load
257- const dateInputs = await waitFor ( ( ) => getAllByPlaceholderText ( DATE_FORMAT . toLocaleUpperCase ( ) ) ) ;
269+ const dateInputs = await waitFor ( ( ) => getAllByPlaceholderText ( DATE_FORMAT . toUpperCase ( ) ) ) ;
258270 // All date inputs must be disabled (no edit_schedule permission)
259271 dateInputs . forEach ( ( input ) => expect ( input ) . toBeDisabled ( ) ) ;
260272 // No changes can be made so the save button never appears
0 commit comments