Skip to content

Commit

Permalink
Merge branch 'master' into task-86076-use-disabled-website-status
Browse files Browse the repository at this point in the history
  • Loading branch information
jim-deriv committed Mar 30, 2023
2 parents 2123417 + 4a2a567 commit d0842c3
Show file tree
Hide file tree
Showing 216 changed files with 22,893 additions and 5,407 deletions.
14 changes: 7 additions & 7 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ describe('<AddressDetails/>', () => {
address_state: 'Default test state',
},
validate: jest.fn(),
disabled_items: [],
};

const svgCommonRenderCheck = () => {
Expand Down Expand Up @@ -262,4 +263,19 @@ describe('<AddressDetails/>', () => {
expect(address_state_input.value).toBe('State 1');
});
});

it('should disable the field if it is immuatble from BE', async () => {
mock_props.disabled_items = ['address_line_1', 'address_line_2'];
mock_props.value.address_state = '';

render(<AddressDetails {...mock_props} />);

expect(screen.getByPlaceholderText(address_line_1)).toBeDisabled();
expect(screen.getByPlaceholderText(address_line_2)).toBeDisabled();
await waitFor(() => {
expect(screen.getByRole('textbox', { name: 'State/Province' })).toBeEnabled();
});
expect(screen.getByPlaceholderText(address_town)).toBeEnabled();
expect(screen.getByPlaceholderText(address_postcode)).toBeEnabled();
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ const AddressDetails = ({
is_gb_residence,
onSubmitEnabledChange,
selected_step_ref,
disabled_items,
has_real_account,
...props
}) => {
Expand Down Expand Up @@ -159,7 +160,10 @@ const AddressDetails = ({
}
maxLength={255}
placeholder={localize('First line of address')}
disabled={props.value?.address_line_1 && has_real_account}
disabled={
disabled_items.includes('address_line_1') ||
(props.value?.address_line_1 && has_real_account)
}
/>
<InputField
name='address_line_2'
Expand All @@ -171,7 +175,10 @@ const AddressDetails = ({
}
maxLength={255}
placeholder={localize('Second line of address')}
disabled={props.value?.address_line_2 && has_real_account}
disabled={
disabled_items.includes('address_line_2') ||
(props.value?.address_line_2 && has_real_account)
}
/>
<InputField
name='address_city'
Expand All @@ -182,7 +189,10 @@ const AddressDetails = ({
: localize('Town/City')
}
placeholder={localize('Town/City')}
disabled={props.value?.address_city && has_real_account}
disabled={
disabled_items.includes('address_city') ||
(props.value?.address_city && has_real_account)
}
/>
{!has_fetched_states_list && (
<div className='details-form__loader'>
Expand Down Expand Up @@ -214,7 +224,8 @@ const AddressDetails = ({
}}
list_portal_id={is_appstore ? '' : 'modal_root'}
disabled={
props.value?.address_state && has_real_account
disabled_items.includes('address_state') ||
(props.value?.address_state && has_real_account)
}
/>
</DesktopWrapper>
Expand All @@ -234,7 +245,8 @@ const AddressDetails = ({
setAddressStateToDisplay('');
}}
disabled={
props.value?.address_state && has_real_account
disabled_items.includes('address_state') ||
(props.value?.address_state && has_real_account)
}
/>
</MobileWrapper>
Expand All @@ -247,7 +259,10 @@ const AddressDetails = ({
name='address_state'
label={localize('State/Province')}
placeholder={localize('State/Province')}
disabled={props.value?.address_state && has_real_account}
disabled={
disabled_items.includes('address_state') ||
(props.value?.address_state && has_real_account)
}
/>
)}
<InputField
Expand All @@ -261,7 +276,10 @@ const AddressDetails = ({
setFieldTouched('address_postcode', true);
handleChange(e);
}}
disabled={props.value?.address_postcode && has_real_account}
disabled={
disabled_items.includes('address_postcode') ||
(props.value?.address_postcode && has_real_account)
}
/>
</div>
</ThemedScrollbars>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -384,8 +384,6 @@ describe('<PersonalDetails/>', () => {
'first_name',
'last_name',
'date_of_birth',
'place_of_birth',
'citizen',
'account_opening_reason',
]}
/>
Expand All @@ -397,7 +395,7 @@ describe('<PersonalDetails/>', () => {
expect(screen.getByTestId('last_name')).toBeDisabled();
expect(screen.getByTestId('date_of_birth')).toBeDisabled();
expect(screen.getByTestId('place_of_birth')).not.toBeDisabled();
expect(screen.getByTestId('citizenship')).toBeEnabled(); // citizenship value is empty, so enable the field
expect(screen.getByTestId('citizenship')).toBeEnabled(); // citizenship value is not disabled by BE, so enable the field
});

it('should disable citizen field if the client is_fully_authenticated', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -316,8 +316,7 @@ const PersonalDetails = ({
<Autocomplete
{...field}
disabled={
(!!props.value.place_of_birth &&
disabled_items.includes('place_of_birth')) ||
disabled_items.includes('place_of_birth') ||
(props.value?.place_of_birth && has_real_account)
}
data-lpignore='true'
Expand Down Expand Up @@ -346,8 +345,7 @@ const PersonalDetails = ({
placeholder={localize('Place of birth')}
name={field.name}
disabled={
(!!props.value.place_of_birth &&
disabled_items.includes('place_of_birth')) ||
disabled_items.includes('place_of_birth') ||
(props.value?.place_of_birth && has_real_account)
}
label={
Expand Down Expand Up @@ -395,9 +393,8 @@ const PersonalDetails = ({
}
error={touched.citizen && errors.citizen}
disabled={
(props.value.citizen && is_fully_authenticated) ||
(!!props.value.citizen &&
disabled_items.includes('citizen')) ||
(props.value?.citizen && is_fully_authenticated) ||
disabled_items.includes('citizen') ||
(props.value?.citizen && has_real_account)
}
list_items={residence_list}
Expand All @@ -414,9 +411,8 @@ const PersonalDetails = ({
placeholder={localize('Citizenship')}
name={field.name}
disabled={
(props.value.citizen && is_fully_authenticated) ||
(!!props.value.citizen &&
disabled_items.includes('citizen')) ||
(props.value?.citizen && is_fully_authenticated) ||
disabled_items.includes('citizen') ||
(props.value?.citizen && has_real_account)
}
label={
Expand Down Expand Up @@ -500,6 +496,9 @@ const PersonalDetails = ({
}
list_portal_id='modal_root'
data-testid='tax_residence'
disabled={disabled_items.includes(
'tax_residence'
)}
/>
</DesktopWrapper>
<MobileWrapper>
Expand Down Expand Up @@ -529,6 +528,9 @@ const PersonalDetails = ({
{...field}
required
data_testid='tax_residence_mobile'
disabled={disabled_items.includes(
'tax_residence'
)}
/>
</MobileWrapper>
<div
Expand Down Expand Up @@ -630,6 +632,7 @@ const PersonalDetails = ({
touched.employment_status &&
errors.employment_status
}
disabled={disabled_items.includes('employment_status')}
/>
</DesktopWrapper>
<MobileWrapper>
Expand All @@ -651,6 +654,7 @@ const PersonalDetails = ({
setFieldTouched('employment_status', true);
handleChange(e);
}}
disabled={disabled_items.includes('employment_status')}
/>
</MobileWrapper>
</fieldset>
Expand Down Expand Up @@ -742,6 +746,9 @@ const PersonalDetails = ({
{...field}
required
data_testid='account_opening_reason_mobile'
disabled={disabled_items.includes(
'account_opening_reason'
)}
/>
</MobileWrapper>
</React.Fragment>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,14 @@ import { DesktopWrapper, Dropdown, MobileWrapper, Text, SelectNative } from '@de
import { localize, getLanguage } from '@deriv/translations';
import classNames from 'classnames';

const TradingAssessmentDropdown = ({ item_list, onChange, values, setFieldValue, setEnableNextSection }) => {
const TradingAssessmentDropdown = ({
disabled_items,
item_list,
onChange,
values,
setFieldValue,
setEnableNextSection,
}) => {
React.useEffect(() => {
checkIfAllFieldsFilled();
}, [values]);
Expand Down Expand Up @@ -44,6 +51,7 @@ const TradingAssessmentDropdown = ({ item_list, onChange, values, setFieldValue,
list={question?.answer_options}
onChange={e => onChange(e, question.form_control, setFieldValue)}
value={values[question.form_control]}
disabled={disabled_items.includes(question.form_control)}
/>
</DesktopWrapper>
<MobileWrapper>
Expand All @@ -60,6 +68,7 @@ const TradingAssessmentDropdown = ({ item_list, onChange, values, setFieldValue,
}}
value={values[question.form_control]}
hide_top_placeholder
disabled={disabled_items.includes(question.form_control)}
/>
</MobileWrapper>
</React.Fragment>
Expand Down
Loading

0 comments on commit d0842c3

Please sign in to comment.