@transferwise/approve-api-action-helpers
Version:
An http client that handles SCA protected requests gracefully
34 lines (28 loc) • 952 B
JavaScript
import { tabFlow } from './tabFlow';
jest.mock('./config', () => ({
MESSAGE_SUCCESS: 'b',
MESSAGE_FAILED: 'c',
MESSAGE_CLOSED: 'd',
}));
describe('tab flow', () => {
let submit;
beforeEach(() => {
submit = jest.fn();
window.HTMLFormElement.prototype.submit = submit;
// eslint-disable-next-line jest/prefer-spy-on
global.open = jest.fn();
});
it('opens approval page', () => {
tabFlow({ approvalPageUrl: 'https://a.a/' });
expect(global.open).toHaveBeenCalledWith('https://a.a/', 'tw-approve-api-action');
});
it('posts to approval page', () => {
tabFlow({ token: 'a1b2', approvalPageUrl: 'https://a.a/' });
const form = document.querySelector('form');
expect(form.target).toBe('tw-approve-api-action');
expect(form.method).toBe('post');
expect(form.action).toBe('https://a.a/');
// eslint-disable-next-line jest/prefer-called-with
expect(submit).toHaveBeenCalled();
});
});