Skip to content

Commit

Permalink
Update tests - wait for transitions to complete before resuming
Browse files Browse the repository at this point in the history
  • Loading branch information
jamie-suse committed Aug 22, 2024
1 parent 6ab46d3 commit 98d08dc
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 13 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react';
import { render, screen, act } from '@testing-library/react';
import { render, screen, act, waitFor } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import { faker } from '@faker-js/faker';
import {
Expand Down Expand Up @@ -92,10 +92,10 @@ describe('ApiKeySettingsModal', () => {
await user.type(screen.getByRole('spinbutton'), '20');

await user.click(screen.getByRole('button', { name: 'months' }));
await user.click(screen.getByRole('button', { name: 'months' }));

await user.click(screen.getByRole('button', { name: 'Generate' }));

await user.click(screen.getByRole('button', { name: 'Generate' }));
await user.click(await waitFor(() => screen.findByText('Generate')));

const [{ apiKeyExpiration: generatedApiKeyExpiration }] =
onGenerate.mock.lastCall;
Expand Down
6 changes: 4 additions & 2 deletions assets/js/pages/ChecksCatalog/CheckItem.test.jsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';

import { render, screen } from '@testing-library/react';
import { render, screen, waitFor } from '@testing-library/react';
import '@testing-library/jest-dom';
import userEvent from '@testing-library/user-event';

Expand Down Expand Up @@ -67,6 +67,8 @@ describe('ChecksCatalog CheckItem component', () => {
await user.click(checkDiv);
expect(screen.getByText(check.remediation)).toBeVisible();
await user.click(checkDiv);
expect(screen.queryByText(check.remediation)).not.toBeInTheDocument();
await waitFor(() =>
expect(screen.queryByText(check.remediation)).not.toBeInTheDocument()
);
});
});
6 changes: 3 additions & 3 deletions assets/js/pages/ChecksCatalog/ChecksCatalog.test.jsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';

import { screen, render } from '@testing-library/react';
import { screen, render, waitFor } from '@testing-library/react';

Check failure on line 3 in assets/js/pages/ChecksCatalog/ChecksCatalog.test.jsx

View workflow job for this annotation

GitHub Actions / Static Code Analysis

'waitFor' is defined but never used
import '@testing-library/jest-dom';
import userEvent from '@testing-library/user-event';

Expand Down Expand Up @@ -122,12 +122,12 @@ describe('ChecksCatalog ChecksCatalog component', () => {
await user.click(screen.getByText(filter));

expect(
screen.getByText(expectDisabled, { exact: false }).closest('li')
screen.getByText(expectDisabled, { exact: false }).closest('div')
).toHaveAttribute('aria-disabled', 'true');

const expectItemEnabled = (itemExpectedEnabled) =>
expect(
screen.getByText(itemExpectedEnabled).closest('li')
screen.getByText(itemExpectedEnabled).closest('div')
).not.toHaveAttribute('aria-disabled');

if (expectEnabled) {
Expand Down
3 changes: 2 additions & 1 deletion assets/js/pages/Users/UserForm.test.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -301,10 +301,11 @@ describe('UserForm', () => {

await user.click(screen.getByText('Disabled'));

expect(screen.getAllByText('Enabled')[1].closest('li')).toHaveAttribute(
expect(screen.getAllByText('Enabled')[1].closest('div')).toHaveAttribute(
'aria-disabled',
'true'
);

expect(mockOnSave).not.toHaveBeenCalled();
});

Expand Down
9 changes: 5 additions & 4 deletions assets/js/pages/Users/Users.test.jsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';
import '@testing-library/jest-dom';
import { screen, render } from '@testing-library/react';
import { screen, render, waitFor } from '@testing-library/react';
import { adminUser, userFactory } from '@lib/test-utils/factories/users';
import { renderWithRouter } from '@lib/test-utils';
import { userEvent } from '@testing-library/user-event';
Expand Down Expand Up @@ -44,6 +44,7 @@ describe('Users', () => {
enabled: true,
created_at: creationTime[0],
});

const user = userFactory.build({
enabled: false,
created_at: creationTime[1],
Expand Down Expand Up @@ -90,10 +91,10 @@ describe('Users', () => {
expect(screen.getAllByText(user.username)[1]).toBeVisible();

const cancelButton = screen.getByRole('button', { name: /Cancel/i });
const modalTitel = screen.getByText(modalHeader);
expect(modalTitel).toBeInTheDocument();
const modalTitle = screen.getByText(modalHeader);
expect(modalTitle).toBeInTheDocument();
await userEvent.click(cancelButton);
expect(modalTitel).not.toBeInTheDocument();
await waitFor(() => expect(modalTitle).not.toBeInTheDocument());
});

describe('Single sign on', () => {
Expand Down

0 comments on commit 98d08dc

Please sign in to comment.