diff --git a/apps/meteor/client/omnichannel/additionalForms/AutoCompleteUnit.tsx b/apps/meteor/client/omnichannel/additionalForms/AutoCompleteUnit.tsx index 5dfd1205058e5..36d5de157adbf 100644 --- a/apps/meteor/client/omnichannel/additionalForms/AutoCompleteUnit.tsx +++ b/apps/meteor/client/omnichannel/additionalForms/AutoCompleteUnit.tsx @@ -10,6 +10,7 @@ import { AsyncStatePhase } from '../../lib/asyncState'; import type { RecordList } from '../../lib/lists/RecordList'; type AutoCompleteUnitProps = { + id?: string; disabled?: boolean; value: string | undefined; error?: string; @@ -20,6 +21,7 @@ type AutoCompleteUnitProps = { }; const AutoCompleteUnit = ({ + id, value, disabled = false, error, @@ -46,6 +48,7 @@ const AutoCompleteUnit = ({ return ( @@ -358,16 +359,21 @@ function EditDepartment({ data, id, title, allowedToForwardData }: EditDepartmen - {t('Unit')} + + {t('Unit')} + ( { @@ -378,6 +384,11 @@ function EditDepartment({ data, id, title, allowedToForwardData }: EditDepartmen )} /> + {errors.unit && ( + + {errors.unit?.message} + + )} )} diff --git a/apps/meteor/tests/e2e/omnichannel/omnichannel-monitor-department.spec.ts b/apps/meteor/tests/e2e/omnichannel/omnichannel-monitor-department.spec.ts index e20a76b8fc24d..92b40fb477bfd 100644 --- a/apps/meteor/tests/e2e/omnichannel/omnichannel-monitor-department.spec.ts +++ b/apps/meteor/tests/e2e/omnichannel/omnichannel-monitor-department.spec.ts @@ -110,6 +110,16 @@ test.describe.serial('OC - Monitor Role', () => { await poOmnichannelDepartments.findOption(unitB.name).click(); }); + await test.step('expect unit field to be required', async () => { + await poOmnichannelDepartments.inputUnit.click(); + await poOmnichannelDepartments.findOption('None').click(); + await expect(poOmnichannelDepartments.btnSave).toBeDisabled(); + await expect(poOmnichannelDepartments.errorMessage('Unit required')).toBeVisible(); + await poOmnichannelDepartments.inputUnit.click(); + await poOmnichannelDepartments.findOption(unitB.name).click(); + await expect(poOmnichannelDepartments.btnSave).toBeEnabled(); + }); + await test.step('expect to save department', async () => { await poOmnichannelDepartments.btnEnabled.click(); await poOmnichannelDepartments.btnSave.click(); diff --git a/apps/meteor/tests/e2e/utils/omnichannel/units.ts b/apps/meteor/tests/e2e/utils/omnichannel/units.ts index 596c074191edf..4b590194c8adb 100644 --- a/apps/meteor/tests/e2e/utils/omnichannel/units.ts +++ b/apps/meteor/tests/e2e/utils/omnichannel/units.ts @@ -26,7 +26,7 @@ export const createOrUpdateUnit = async ( msg: 'method', id: '34', method: 'livechat:saveUnit', - params: [id, { name: name || faker.commerce.department(), visibility: visibility || 'public' }, monitors, departments], + params: [id, { name: name || faker.string.uuid(), visibility: visibility || 'public' }, monitors, departments], }), });