Skip to content

Commit 79a7140

Browse files
committed
Add authorization list and balance override unit tests
1 parent 3a53426 commit 79a7140

File tree

1 file changed

+120
-0
lines changed

1 file changed

+120
-0
lines changed

packages/transaction-controller/src/utils/balance-changes.test.ts

+120
Original file line numberDiff line numberDiff line change
@@ -960,5 +960,125 @@ describe('Simulation Utils', () => {
960960
});
961961
});
962962
});
963+
964+
it('includes authorization list in API request if in params', async () => {
965+
await getBalanceChanges({
966+
...REQUEST_MOCK,
967+
txParams: {
968+
...REQUEST_MOCK.txParams,
969+
authorizationList: [
970+
{
971+
address: CONTRACT_ADDRESS_2_MOCK,
972+
chainId: '0x321',
973+
nonce: '0x1',
974+
r: '0x2',
975+
s: '0x3',
976+
yParity: '0x1',
977+
},
978+
],
979+
},
980+
});
981+
982+
expect(simulateTransactionsMock).toHaveBeenCalledTimes(1);
983+
expect(simulateTransactionsMock).toHaveBeenCalledWith(
984+
expect.any(String),
985+
expect.objectContaining({
986+
transactions: [
987+
expect.objectContaining({
988+
authorizationList: [
989+
{
990+
address: CONTRACT_ADDRESS_2_MOCK,
991+
from: USER_ADDRESS_MOCK,
992+
},
993+
],
994+
}),
995+
],
996+
}),
997+
);
998+
});
999+
1000+
describe('overrides balance in API request if insufficient balance due to', () => {
1001+
it('gas fee', async () => {
1002+
queryMock.mockResolvedValue('0x7d182d');
1003+
1004+
await getBalanceChanges({
1005+
...REQUEST_MOCK,
1006+
txParams: {
1007+
...REQUEST_MOCK.txParams,
1008+
value: '0x0',
1009+
},
1010+
});
1011+
1012+
expect(simulateTransactionsMock).toHaveBeenCalledTimes(1);
1013+
expect(simulateTransactionsMock).toHaveBeenCalledWith(
1014+
expect.any(String),
1015+
expect.objectContaining({
1016+
overrides: {
1017+
[USER_ADDRESS_MOCK]: {
1018+
balance: '0x7d182e',
1019+
},
1020+
},
1021+
}),
1022+
);
1023+
});
1024+
1025+
it('value', async () => {
1026+
queryMock.mockResolvedValue('0x122');
1027+
1028+
await getBalanceChanges({
1029+
...REQUEST_MOCK,
1030+
txParams: {
1031+
...REQUEST_MOCK.txParams,
1032+
gas: '0x0',
1033+
value: '0x123',
1034+
},
1035+
});
1036+
1037+
expect(simulateTransactionsMock).toHaveBeenCalledTimes(1);
1038+
expect(simulateTransactionsMock).toHaveBeenCalledWith(
1039+
expect.any(String),
1040+
expect.objectContaining({
1041+
overrides: {
1042+
[USER_ADDRESS_MOCK]: {
1043+
balance: '0x123',
1044+
},
1045+
},
1046+
}),
1047+
);
1048+
});
1049+
1050+
it('nested transaction value', async () => {
1051+
queryMock.mockResolvedValue('0x332');
1052+
1053+
await getBalanceChanges({
1054+
...REQUEST_MOCK,
1055+
nestedTransactions: [
1056+
{
1057+
value: '0x111',
1058+
},
1059+
{
1060+
value: '0x222',
1061+
},
1062+
],
1063+
txParams: {
1064+
...REQUEST_MOCK.txParams,
1065+
gas: '0x0',
1066+
value: '0x0',
1067+
},
1068+
});
1069+
1070+
expect(simulateTransactionsMock).toHaveBeenCalledTimes(1);
1071+
expect(simulateTransactionsMock).toHaveBeenCalledWith(
1072+
expect.any(String),
1073+
expect.objectContaining({
1074+
overrides: {
1075+
[USER_ADDRESS_MOCK]: {
1076+
balance: '0x333',
1077+
},
1078+
},
1079+
}),
1080+
);
1081+
});
1082+
});
9631083
});
9641084
});

0 commit comments

Comments
 (0)