Skip to content

Commit

Permalink
feat: additional design change fore derivez
Browse files Browse the repository at this point in the history
  • Loading branch information
vinu-deriv committed Nov 21, 2022
1 parent 4970da2 commit 3d7f41a
Show file tree
Hide file tree
Showing 5 changed files with 88 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,9 @@ describe('<AccountTransferForm />', () => {
},
},
},
common: {
is_from_derivgo: false,
},
};
});
beforeAll(() => {
Expand Down Expand Up @@ -321,6 +324,22 @@ describe('<AccountTransferForm />', () => {
).toBeInTheDocument();
});

it('should show proper note if transfer fee is 2%, is_derivez_transfer, and is_dxtrade_allowed is false', () => {
(isMobile as jest.Mock).mockReturnValue(true);
mockRootStore.modules.cashier.account_transfer.selected_from.is_derivez = true;
mockRootStore.modules.cashier.account_transfer.selected_to.is_derivez = true;
mockRootStore.modules.cashier.account_transfer.transfer_fee = 2;
mockRootStore.common.is_from_derivgo = true;

renderAccountTransferForm();

expect(
screen.getByText(
'We’ll charge a 2% transfer fee or 0 USD, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts, your Deriv cryptocurrency and Deriv EZ accounts, and your Deriv cryptocurrency and Deriv X accounts. Please bear in mind that some transfers may not be possible.'
)
).toBeInTheDocument();
});

it('should show proper note if transfer fee is 2% and is_mt_transfer is false', () => {
(isMobile as jest.Mock).mockReturnValue(true);
mockRootStore.modules.cashier.account_transfer.transfer_fee = 2;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ type TAccountTransferNoteProps = {
is_mt_transfer: boolean;
minimum_fee: string | number;
transfer_fee: string | number;
is_from_derivgo: boolean;
is_derivez_transfer: boolean;
};

const AccountTransferBullet = ({ children }: TAccountTransferBulletProps) => (
Expand All @@ -36,12 +38,24 @@ const AccountTransferNote = ({
is_mt_transfer,
minimum_fee,
transfer_fee,
is_from_derivgo,
is_derivez_transfer,
}: TAccountTransferNoteProps) => {
const platform_name_dxtrade = getPlatformSettings('dxtrade').name;
const platform_name_mt5 = getPlatformSettings('mt5').name;
const platform_name_derivez = getPlatformSettings('derivez').name;

//TODO to refactor derivez notes once this account is used in deriv app and not only from derivgo
const getTransferFeeNote = () => {
if (transfer_fee === 0) {
if (is_from_derivgo && is_derivez_transfer) {
return (
<Localize
i18n_default_text='We do not charge a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts, your Deriv fiat and {{platform_name_derivez}} accounts and your Deriv fiat and {{platform_name_dxtrade}} accounts.'
values={{ platform_name_dxtrade, platform_name_mt5, platform_name_derivez }}
/>
);
}
return is_dxtrade_allowed ? (
<Localize
i18n_default_text='We do not charge a transfer fee for transfers in the same currency between your Deriv fiat and {{platform_name_mt5}} accounts and between your Deriv fiat and {{platform_name_dxtrade}} accounts.'
Expand All @@ -54,6 +68,14 @@ const AccountTransferNote = ({
/>
);
} else if (transfer_fee === 1) {
if (is_from_derivgo && is_derivez_transfer) {
return (
<Localize
i18n_default_text='We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts, your Deriv fiat and {{platform_name_derivez}} accounts, and your Deriv fiat and {{platform_name_dxtrade}} accounts.'
values={{ platform_name_dxtrade, platform_name_mt5, platform_name_derivez }}
/>
);
}
return is_dxtrade_allowed ? (
<Localize
i18n_default_text='We’ll charge a 1% transfer fee for transfers in different currencies between your Deriv fiat and {{platform_name_mt5}} accounts and between your Deriv fiat and {{platform_name_dxtrade}} accounts.'
Expand All @@ -75,7 +97,20 @@ const AccountTransferNote = ({
}}
/>
);
} else if (transfer_fee === 2 && (is_mt_transfer || is_dxtrade_transfer)) {
} else if (transfer_fee === 2 && (is_mt_transfer || is_dxtrade_transfer || is_derivez_transfer)) {
if (is_from_derivgo && is_derivez_transfer) {
return (
<Localize
i18n_default_text='We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts, your Deriv cryptocurrency and {{platform_name_derivez}} accounts, and your Deriv cryptocurrency and {{platform_name_dxtrade}} accounts.'
values={{
minimum_fee,
currency: getCurrencyDisplayCode(currency),
platform_name_derivez,
platform_name_dxtrade,
}}
/>
);
}
return is_dxtrade_allowed ? (
<Localize
i18n_default_text='We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv cryptocurrency and Deriv MT5 accounts and between your Deriv cryptocurrency and {{platform_name_dxtrade}} accounts.'
Expand All @@ -94,7 +129,7 @@ const AccountTransferNote = ({
}}
/>
);
} else if (transfer_fee === 2 && !is_mt_transfer && !is_dxtrade_transfer) {
} else if (transfer_fee === 2 && !is_mt_transfer && !is_dxtrade_transfer && !is_derivez_transfer) {
return (
<Localize
i18n_default_text='We’ll charge a 2% transfer fee or {{minimum_fee}} {{currency}}, whichever is higher, for transfers between your Deriv fiat and Deriv cryptocurrency accounts.'
Expand All @@ -111,7 +146,12 @@ const AccountTransferNote = ({
return (
<div className='account-transfer-form__notes'>
<AccountTransferBullet>
{is_dxtrade_allowed ? (
{is_from_derivgo && is_derivez_transfer ? (
<Localize
i18n_default_text='You may transfer between your Deriv fiat, cryptocurrency, {{platform_name_mt5}}, {{platform_name_derivez}} and {{platform_name_dxtrade}} accounts.'
values={{ platform_name_dxtrade, platform_name_mt5, platform_name_derivez }}
/>
) : is_dxtrade_allowed ? (
<Localize
i18n_default_text='You may transfer between your Deriv fiat, cryptocurrency, {{platform_name_mt5}}, and {{platform_name_dxtrade}} accounts.'
values={{ platform_name_dxtrade, platform_name_mt5 }}
Expand All @@ -124,7 +164,20 @@ const AccountTransferNote = ({
)}
</AccountTransferBullet>
<AccountTransferBullet>
{is_dxtrade_allowed ? (
{is_from_derivgo && is_derivez_transfer ? (
<Localize
i18n_default_text='Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts, up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts, up to {{ allowed_derivez }} transfers between your Deriv and {{platform_name_derivez}} accounts, and up to {{ allowed_dxtrade }} transfers between your Deriv and {{platform_name_dxtrade}} accounts.'
values={{
allowed_internal: allowed_transfers_count?.internal,
allowed_mt5: allowed_transfers_count?.mt5,
allowed_dxtrade: allowed_transfers_count?.dxtrade,
allowed_derivez: allowed_transfers_count?.derivez,
platform_name_dxtrade,
platform_name_mt5,
platform_name_derivez,
}}
/>
) : is_dxtrade_allowed ? (
<Localize
i18n_default_text='Each day, you can make up to {{ allowed_internal }} transfers between your Deriv accounts, up to {{ allowed_mt5 }} transfers between your Deriv and {{platform_name_mt5}} accounts, and up to {{ allowed_dxtrade }} transfers between your Deriv and {{platform_name_dxtrade}} accounts.'
values={{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ let derivez_accounts_to: Array<TAccount> = [];
const AccountTransferForm = ({ error, setSideNotes }: TAccountTransferFormProps) => {
const {
client,
common: { is_from_derivgo },
modules: { cashier },
} = useStore();

Expand Down Expand Up @@ -262,6 +263,7 @@ const AccountTransferForm = ({ error, setSideNotes }: TAccountTransferFormProps)
internal: internal_remaining_transfers?.allowed,
mt5: mt5_remaining_transfers?.allowed,
dxtrade: dxtrade_remaining_transfers?.allowed,
derivez: derivez_remaining_transfers?.allowed,
}}
transfer_fee={transfer_fee}
currency={selected_from.currency}
Expand All @@ -271,6 +273,8 @@ const AccountTransferForm = ({ error, setSideNotes }: TAccountTransferFormProps)
is_dxtrade_allowed={is_dxtrade_allowed}
is_dxtrade_transfer={is_dxtrade_transfer}
is_mt_transfer={is_mt_transfer}
is_from_derivgo={is_from_derivgo}
is_derivez_transfer={is_derivez_transfer}
/>
);
setSideNotes([
Expand Down Expand Up @@ -547,6 +551,7 @@ const AccountTransferForm = ({ error, setSideNotes }: TAccountTransferFormProps)
internal: internal_remaining_transfers?.allowed,
mt5: mt5_remaining_transfers?.allowed,
dxtrade: dxtrade_remaining_transfers?.allowed,
derivez: derivez_remaining_transfers?.allowed,
}}
transfer_fee={transfer_fee}
currency={selected_from.currency}
Expand All @@ -555,6 +560,8 @@ const AccountTransferForm = ({ error, setSideNotes }: TAccountTransferFormProps)
is_dxtrade_allowed={is_dxtrade_allowed}
is_dxtrade_transfer={is_dxtrade_transfer}
is_mt_transfer={is_mt_transfer}
is_from_derivgo={is_from_derivgo}
is_derivez_transfer={is_derivez_transfer}
/>
</SideNote>
<ErrorDialog error={error} />
Expand Down
4 changes: 4 additions & 0 deletions packages/shared/brand.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@
"name": "Deriv X",
"icon": "IcBrandDxtrade"
},
"derivez": {
"name": "Deriv EZ",
"icon": "IcDerivez"
},
"smarttrader": {
"name": "SmartTrader",
"icon": "IcBrandSmarttrader"
Expand Down
1 change: 1 addition & 0 deletions packages/shared/src/utils/brand/brand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ type TPlatforms = {
dbot: TPlatform;
mt5: TPlatform;
dxtrade: TPlatform;
derivez: TPlatform;
smarttrader: TPlatform;
bbot: TPlatform;
go: TPlatform;
Expand Down

0 comments on commit 3d7f41a

Please sign in to comment.