mirror of
https://github.com/portainer/portainer.git
synced 2025-07-23 15:29:42 +02:00
* refactor(azure): migrate module to react [EE-2782] * fix(azure): remove optional chain * feat(azure): apply new icons in dashboard * feat(azure): apply new icons in dashboard * feat(ui): allow single string for breadcrumbs * refactor(azure/containers): use Table.content * feat(azure/containers): implement new ui [EE-3538] * fix(azure/containers): use correct icon * chore(tests): mock svg as component * fix(azure): fix tests Co-authored-by: matias.spinarolli <matias.spinarolli@portainer.io>
43 lines
1.4 KiB
TypeScript
43 lines
1.4 KiB
TypeScript
import userEvent from '@testing-library/user-event';
|
|
|
|
import { UserContext } from '@/portainer/hooks/useUser';
|
|
import { UserViewModel } from '@/portainer/models/user';
|
|
import { renderWithQueryClient } from '@/react-tools/test-utils';
|
|
|
|
import { CreateContainerInstanceForm } from './CreateContainerInstanceForm';
|
|
|
|
jest.mock('@uirouter/react', () => ({
|
|
...jest.requireActual('@uirouter/react'),
|
|
useCurrentStateAndParams: jest.fn(() => ({
|
|
params: { endpointId: 5 },
|
|
})),
|
|
}));
|
|
|
|
test('submit button should be disabled when name or image is missing', async () => {
|
|
const user = new UserViewModel({ Username: 'user' });
|
|
|
|
const { findByText, getByText, getByLabelText } = renderWithQueryClient(
|
|
<UserContext.Provider value={{ user }}>
|
|
<CreateContainerInstanceForm />
|
|
</UserContext.Provider>
|
|
);
|
|
|
|
await expect(findByText(/Azure settings/)).resolves.toBeVisible();
|
|
|
|
const button = getByText(/Deploy the container/);
|
|
expect(button).toBeVisible();
|
|
expect(button).toBeDisabled();
|
|
|
|
const nameInput = getByLabelText(/name/i);
|
|
userEvent.type(nameInput, 'name');
|
|
|
|
const imageInput = getByLabelText(/image/i);
|
|
userEvent.type(imageInput, 'image');
|
|
|
|
await expect(findByText(/Deploy the container/)).resolves.toBeEnabled();
|
|
|
|
expect(nameInput).toHaveValue('name');
|
|
userEvent.clear(nameInput);
|
|
|
|
await expect(findByText(/Deploy the container/)).resolves.toBeDisabled();
|
|
});
|