mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-22 18:00:18 +01:00
61 lines
2.0 KiB
TypeScript
61 lines
2.0 KiB
TypeScript
|
import { ResultComponent } from '@metamask/approval-controller';
|
||
|
import { processError, processString } from './util';
|
||
|
|
||
|
const FALLBACK_MESSAGE = 'Fallback Message';
|
||
|
const mockResultComponent: ResultComponent = {
|
||
|
key: 'mock-key',
|
||
|
name: 'mock-component',
|
||
|
properties: { message: 'mock1', message2: 'mock2' },
|
||
|
children: 'Mock child',
|
||
|
};
|
||
|
|
||
|
const expectedTemplateRendererComponent = {
|
||
|
key: 'mock-key',
|
||
|
props: {
|
||
|
message: 'mock1',
|
||
|
message2: 'mock2',
|
||
|
},
|
||
|
children: 'Mock child',
|
||
|
element: 'mock-component',
|
||
|
};
|
||
|
|
||
|
describe('processError', () => {
|
||
|
it('returns TemplateRendererComponent when input is not defined', () => {
|
||
|
const result = processError(undefined, FALLBACK_MESSAGE);
|
||
|
expect(result).toEqual({
|
||
|
key: 'error',
|
||
|
element: 'ActionableMessage',
|
||
|
props: { type: 'danger', message: FALLBACK_MESSAGE },
|
||
|
});
|
||
|
});
|
||
|
|
||
|
it('returns TemplateRendererComponent when input is a string', () => {
|
||
|
const result = processError('Error Message', FALLBACK_MESSAGE);
|
||
|
expect(result).toEqual({
|
||
|
key: 'error',
|
||
|
element: 'ActionableMessage',
|
||
|
props: { type: 'danger', message: 'Error Message' },
|
||
|
});
|
||
|
});
|
||
|
it('returns TemplateRendererComponent when input is a ResultComponent', () => {
|
||
|
const result = processError(mockResultComponent, FALLBACK_MESSAGE);
|
||
|
expect(result).toEqual(expectedTemplateRendererComponent);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('processString', () => {
|
||
|
it('returns string when input is not defined', () => {
|
||
|
const result = processString(undefined, FALLBACK_MESSAGE);
|
||
|
expect(result[0]).toEqual(FALLBACK_MESSAGE);
|
||
|
});
|
||
|
|
||
|
it('returns TemplateRendererComponent when input is a string', () => {
|
||
|
const result = processString('Hello', FALLBACK_MESSAGE);
|
||
|
expect(result).toEqual(['Hello']);
|
||
|
});
|
||
|
it('returns TemplateRendererComponent when input is a ResultComponent', () => {
|
||
|
const result = processString(mockResultComponent, FALLBACK_MESSAGE);
|
||
|
expect(result).toEqual(expectedTemplateRendererComponent);
|
||
|
});
|
||
|
});
|