1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 01:39:44 +01:00
metamask-extension/ui/selectors/approvals.test.ts

66 lines
1.6 KiB
TypeScript
Raw Normal View History

2023-04-25 11:47:49 +02:00
import { ApprovalType } from '@metamask/controller-utils';
import { getApprovalFlows, hasPendingApprovals } from './approvals';
2023-04-25 11:47:49 +02:00
describe('approval selectors', () => {
const mockedState = {
metamask: {
pendingApprovalCount: 3,
2023-04-25 11:47:49 +02:00
pendingApprovals: {
'1': {
id: '1',
origin: 'origin',
time: Date.now(),
type: ApprovalType.WatchAsset,
requestData: {},
requestState: null,
expectsResult: false,
2023-04-25 11:47:49 +02:00
},
'2': {
id: '2',
origin: 'origin',
time: Date.now(),
type: ApprovalType.Transaction,
2023-04-25 11:47:49 +02:00
requestData: {},
requestState: null,
expectsResult: false,
2023-04-25 11:47:49 +02:00
},
},
approvalFlows: [
{
id: '1',
loadingText: 'loadingText1',
},
{
id: '2',
loadingText: 'loadingText2',
},
],
2023-04-25 11:47:49 +02:00
},
};
describe('hasPendingApprovals', () => {
2023-04-25 11:47:49 +02:00
it('should return true if there is a pending approval request', () => {
const result = hasPendingApprovals(mockedState, ApprovalType.WatchAsset);
2023-04-25 11:47:49 +02:00
expect(result).toBe(true);
});
it('should return false if there is no pending approval request', () => {
const result = hasPendingApprovals(
2023-04-25 11:47:49 +02:00
mockedState,
ApprovalType.SnapDialogPrompt,
2023-04-25 11:47:49 +02:00
);
expect(result).toBe(false);
});
});
describe('getApprovalFlows', () => {
it('should return existing approval flows', () => {
const result = getApprovalFlows(mockedState);
expect(result).toStrictEqual(mockedState.metamask.approvalFlows);
});
});
2023-04-25 11:47:49 +02:00
});