1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-23 02:10:12 +01:00
metamask-extension/ui/components/institutional/jwt-url-form/jwt-url-form.test.js
Mark Stacey d1cea85f33
Rename provider to providerConfig (#18907)
* Rename `provider` to `providerConfig`

The network controller `provider` state has been renamed to
 `providerConfig`. This better reflects what this state is, and makes
this controller more closely aligned with the core network controller.

All references to the provider configuration have been updated to
prefer `providerConfig` over `provider`, to make the distinction clear
between a provider and provider config.

Closes #18902

* Add migration
2023-05-02 13:23:20 -02:30

79 lines
1.9 KiB
JavaScript

import React from 'react';
import sinon from 'sinon';
import { fireEvent, screen } from '@testing-library/react';
import configureMockStore from 'redux-mock-store';
import { renderWithProvider } from '../../../../test/lib/render-helpers';
import JwtUrlForm from './jwt-url-form';
describe('JwtUrlForm', function () {
const mockStore = {
metamask: {
providerConfig: {
type: 'test',
},
},
};
const store = configureMockStore()(mockStore);
const props = {
jwtList: ['jwt1'],
currentJwt: 'jwt1',
onJwtChange: sinon.spy(),
jwtInputText: 'input text',
apiUrl: 'url',
urlInputText: '',
onUrlChange: sinon.spy(),
};
it('opens JWT Url Form without input for new JWT', () => {
const { getAllByTestId, getByText } = renderWithProvider(
<JwtUrlForm {...props} />,
store,
);
expect(getAllByTestId('addNewToken-btn')[0]).toHaveAttribute(
'role',
'button',
);
expect(getByText('Add new token')).toBeInTheDocument();
});
it('shows JWT textarea with provided input text', () => {
const { getAllByTestId } = renderWithProvider(
<JwtUrlForm {...props} />,
store,
);
const btn = getAllByTestId('addNewToken-btn')[0];
fireEvent.click(btn);
expect(screen.getByText('input text')).toBeInTheDocument();
});
it('goes through the api url input', () => {
const { queryByTestId } = renderWithProvider(
<JwtUrlForm {...props} />,
store,
);
const apiUrlinput = queryByTestId('jwt-api-url-input');
fireEvent.change(apiUrlinput, { target: { value: 'url' } });
expect(apiUrlinput.value).toBe('url');
});
it('shows JWT text area when no jwt token exists', () => {
const customProps = {
...props,
currentJwt: '',
jwtList: [],
};
const { container } = renderWithProvider(
<JwtUrlForm {...customProps} />,
store,
);
expect(container).toMatchSnapshot();
});
});