mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
convert UsersActionBar tests to RTL (#48737)
This commit is contained in:
@@ -242,9 +242,6 @@ exports[`no enzyme tests`] = {
|
|||||||
"public/app/features/teams/TeamSettings.test.tsx:2043271249": [
|
"public/app/features/teams/TeamSettings.test.tsx:2043271249": [
|
||||||
[0, 19, 13, "RegExp match", "2409514259"]
|
[0, 19, 13, "RegExp match", "2409514259"]
|
||||||
],
|
],
|
||||||
"public/app/features/users/UsersActionBar.test.tsx:3740177621": [
|
|
||||||
[0, 19, 13, "RegExp match", "2409514259"]
|
|
||||||
],
|
|
||||||
"public/app/features/users/UsersListPage.test.tsx:3908145117": [
|
"public/app/features/users/UsersListPage.test.tsx:3908145117": [
|
||||||
[0, 19, 13, "RegExp match", "2409514259"]
|
[0, 19, 13, "RegExp match", "2409514259"]
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { shallow } from 'enzyme';
|
import { render, screen } from '@testing-library/react';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { mockToolkitActionCreator } from 'test/core/redux/mocks';
|
import { mockToolkitActionCreator } from 'test/core/redux/mocks';
|
||||||
|
|
||||||
@@ -26,37 +26,40 @@ const setup = (propOverrides?: object) => {
|
|||||||
|
|
||||||
Object.assign(props, propOverrides);
|
Object.assign(props, propOverrides);
|
||||||
|
|
||||||
return shallow(<UsersActionBar {...props} />);
|
const { rerender } = render(<UsersActionBar {...props} />);
|
||||||
|
|
||||||
|
return { rerender, props };
|
||||||
};
|
};
|
||||||
|
|
||||||
describe('Render', () => {
|
describe('Render', () => {
|
||||||
it('should render component', () => {
|
it('should render component', () => {
|
||||||
const wrapper = setup();
|
setup();
|
||||||
|
|
||||||
expect(wrapper).toMatchSnapshot();
|
expect(screen.getByTestId('users-action-bar')).toBeInTheDocument();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should render pending invites button', () => {
|
it('should render pending invites button', () => {
|
||||||
const wrapper = setup({
|
setup({
|
||||||
pendingInvitesCount: 5,
|
pendingInvitesCount: 5,
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(wrapper).toMatchSnapshot();
|
expect(screen.getByRole('radio', { name: 'Pending Invites (5)' })).toBeInTheDocument();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should show invite button', () => {
|
it('should show invite button', () => {
|
||||||
const wrapper = setup({
|
setup({
|
||||||
canInvite: true,
|
canInvite: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(wrapper).toMatchSnapshot();
|
expect(screen.getByRole('link', { name: 'Invite' })).toHaveAttribute('href', 'org/users/invite');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should show external user management button', () => {
|
it('should show external user management button', () => {
|
||||||
const wrapper = setup({
|
setup({
|
||||||
externalUserMngLinkUrl: 'some/url',
|
externalUserMngLinkUrl: 'some/url',
|
||||||
|
externalUserMngLinkName: 'someUrl',
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(wrapper).toMatchSnapshot();
|
expect(screen.getByRole('link', { name: 'someUrl' })).toHaveAttribute('href', 'some/url');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ export class UsersActionBar extends PureComponent<Props> {
|
|||||||
const canAddToOrg = contextSrv.hasAccess(AccessControlAction.UsersCreate, canInvite);
|
const canAddToOrg = contextSrv.hasAccess(AccessControlAction.UsersCreate, canInvite);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="page-action-bar">
|
<div className="page-action-bar" data-testid="users-action-bar">
|
||||||
<div className="gf-form gf-form--grow">
|
<div className="gf-form gf-form--grow">
|
||||||
<FilterInput
|
<FilterInput
|
||||||
value={searchQuery}
|
value={searchQuery}
|
||||||
|
|||||||
@@ -1,114 +0,0 @@
|
|||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
||||||
|
|
||||||
exports[`Render should render component 1`] = `
|
|
||||||
<div
|
|
||||||
className="page-action-bar"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
className="gf-form gf-form--grow"
|
|
||||||
>
|
|
||||||
<FilterInput
|
|
||||||
onChange={[MockFunction]}
|
|
||||||
placeholder="Search user by login, email or name"
|
|
||||||
value=""
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<LinkButton
|
|
||||||
href="org/users/invite"
|
|
||||||
>
|
|
||||||
Invite
|
|
||||||
</LinkButton>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`Render should render pending invites button 1`] = `
|
|
||||||
<div
|
|
||||||
className="page-action-bar"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
className="gf-form gf-form--grow"
|
|
||||||
>
|
|
||||||
<FilterInput
|
|
||||||
onChange={[MockFunction]}
|
|
||||||
placeholder="Search user by login, email or name"
|
|
||||||
value=""
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
style={
|
|
||||||
Object {
|
|
||||||
"marginLeft": "1rem",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
>
|
|
||||||
<RadioButtonGroup
|
|
||||||
onChange={[MockFunction]}
|
|
||||||
options={
|
|
||||||
Array [
|
|
||||||
Object {
|
|
||||||
"label": "Users",
|
|
||||||
"value": "users",
|
|
||||||
},
|
|
||||||
Object {
|
|
||||||
"label": "Pending Invites (5)",
|
|
||||||
"value": "invites",
|
|
||||||
},
|
|
||||||
]
|
|
||||||
}
|
|
||||||
value="users"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<LinkButton
|
|
||||||
href="org/users/invite"
|
|
||||||
>
|
|
||||||
Invite
|
|
||||||
</LinkButton>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`Render should show external user management button 1`] = `
|
|
||||||
<div
|
|
||||||
className="page-action-bar"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
className="gf-form gf-form--grow"
|
|
||||||
>
|
|
||||||
<FilterInput
|
|
||||||
onChange={[MockFunction]}
|
|
||||||
placeholder="Search user by login, email or name"
|
|
||||||
value=""
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<LinkButton
|
|
||||||
href="org/users/invite"
|
|
||||||
>
|
|
||||||
Invite
|
|
||||||
</LinkButton>
|
|
||||||
<LinkButton
|
|
||||||
href="some/url"
|
|
||||||
rel="noopener"
|
|
||||||
target="_blank"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
|
|
||||||
exports[`Render should show invite button 1`] = `
|
|
||||||
<div
|
|
||||||
className="page-action-bar"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
className="gf-form gf-form--grow"
|
|
||||||
>
|
|
||||||
<FilterInput
|
|
||||||
onChange={[MockFunction]}
|
|
||||||
placeholder="Search user by login, email or name"
|
|
||||||
value=""
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<LinkButton
|
|
||||||
href="org/users/invite"
|
|
||||||
>
|
|
||||||
Invite
|
|
||||||
</LinkButton>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
Reference in New Issue
Block a user