import { render, screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import React from 'react';
import OrgProfile, { Props } from './OrgProfile';
jest.mock('app/core/core', () => {
return {
contextSrv: {
hasPermission: () => true,
},
};
});
describe('OrgProfile', () => {
const props: Props = {
orgName: 'Main org',
onSubmit: jest.fn(),
};
it('should render without crashing', () => {
expect(() => render()).not.toThrow();
});
it('should show the current org name', () => {
render();
const orgNameInput = screen.getByLabelText('Organization name');
expect(orgNameInput).toHaveValue('Main org');
});
it('can update the current org name', async () => {
render();
const orgNameInput = screen.getByLabelText('Organization name');
const submitButton = screen.getByRole('button', { name: 'Update organization name' });
expect(orgNameInput).toHaveValue('Main org');
await userEvent.clear(orgNameInput);
await userEvent.type(orgNameInput, 'New org name');
await userEvent.click(submitButton);
expect(props.onSubmit).toHaveBeenCalledWith('New org name');
});
});