mirror of
https://github.com/ansible/awx.git
synced 2026-01-11 01:57:35 -03:30
Merge pull request #8468 from nixocio/ui_issue_8453
Fix username as a required field Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
This commit is contained in:
commit
9b00421ec3
@ -68,11 +68,9 @@ function UserFormFields({ user, i18n }) {
|
||||
name="username"
|
||||
type="text"
|
||||
validate={
|
||||
!ldapUser && externalAccount === null
|
||||
? required(null, i18n)
|
||||
: () => undefined
|
||||
!ldapUser && !externalAccount ? required(null, i18n) : () => undefined
|
||||
}
|
||||
isRequired={!ldapUser && externalAccount === null}
|
||||
isRequired={!ldapUser && !externalAccount}
|
||||
/>
|
||||
<FormField
|
||||
id="user-email"
|
||||
|
||||
@ -93,7 +93,7 @@ describe('<UserForm />', () => {
|
||||
});
|
||||
});
|
||||
|
||||
test('password fields are required on add', async () => {
|
||||
test('fields required on add', async () => {
|
||||
await act(async () => {
|
||||
wrapper = mountWithContexts(
|
||||
<UserForm handleSubmit={jest.fn()} handleCancel={jest.fn()} />
|
||||
@ -105,6 +105,26 @@ describe('<UserForm />', () => {
|
||||
expect(passwordFields.length).toBe(2);
|
||||
expect(passwordFields.at(0).prop('isRequired')).toBe(true);
|
||||
expect(passwordFields.at(1).prop('isRequired')).toBe(true);
|
||||
|
||||
expect(wrapper.find('FormField[label="Username"]').prop('isRequired')).toBe(
|
||||
true
|
||||
);
|
||||
});
|
||||
|
||||
test('username field is required on edit', async () => {
|
||||
await act(async () => {
|
||||
wrapper = mountWithContexts(
|
||||
<UserForm
|
||||
user={{ ...mockData, external_account: '', auth: [] }}
|
||||
handleSubmit={jest.fn()}
|
||||
handleCancel={jest.fn()}
|
||||
/>
|
||||
);
|
||||
});
|
||||
|
||||
expect(wrapper.find('FormField[label="Username"]').prop('isRequired')).toBe(
|
||||
true
|
||||
);
|
||||
});
|
||||
|
||||
test('password fields are not required on edit', async () => {
|
||||
@ -125,6 +145,40 @@ describe('<UserForm />', () => {
|
||||
expect(passwordFields.at(1).prop('isRequired')).toBe(false);
|
||||
});
|
||||
|
||||
test('username should not be required for external accounts', async () => {
|
||||
await act(async () => {
|
||||
wrapper = mountWithContexts(
|
||||
<UserForm
|
||||
user={mockData}
|
||||
handleSubmit={jest.fn()}
|
||||
handleCancel={jest.fn()}
|
||||
/>
|
||||
);
|
||||
});
|
||||
expect(wrapper.find('FormField[label="Username"]').prop('isRequired')).toBe(
|
||||
false
|
||||
);
|
||||
});
|
||||
|
||||
test('username should not be required for ldap accounts', async () => {
|
||||
await act(async () => {
|
||||
wrapper = mountWithContexts(
|
||||
<UserForm
|
||||
user={{
|
||||
...mockData,
|
||||
ldap_dn:
|
||||
'uid=binduser,cn=users,cn=accounts,dc=lan,dc=example,dc=com',
|
||||
}}
|
||||
handleSubmit={jest.fn()}
|
||||
handleCancel={jest.fn()}
|
||||
/>
|
||||
);
|
||||
});
|
||||
expect(wrapper.find('FormField[label="Username"]').prop('isRequired')).toBe(
|
||||
false
|
||||
);
|
||||
});
|
||||
|
||||
test('password fields are not displayed for social/ldap login', async () => {
|
||||
await act(async () => {
|
||||
wrapper = mountWithContexts(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user