Skip to content

Commit f4f0c88

Browse files
committed
finish tests
1 parent c1c94db commit f4f0c88

File tree

2 files changed

+23
-11
lines changed

2 files changed

+23
-11
lines changed

packages/compass-data-modeling/src/components/saved-diagrams-list.spec.tsx

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import React from 'react';
22
import { expect } from 'chai';
3-
import { screen, userEvent } from '@mongodb-js/testing-library-compass';
3+
import {
4+
screen,
5+
userEvent,
6+
waitFor,
7+
} from '@mongodb-js/testing-library-compass';
48
import SavedDiagramsList from './saved-diagrams-list';
59
import { renderWithStore } from '../../test/setup-store';
610
import type { DataModelingStore } from '../../test/setup-store';
@@ -43,22 +47,25 @@ describe('SavedDiagramsList', function () {
4347
context('when there are no saved diagrams', function () {
4448
let store: DataModelingStore;
4549

46-
beforeEach(function () {
50+
beforeEach(async function () {
4751
const result = renderSavedDiagramsList();
4852
store = result.store;
53+
54+
// wait till the empty list is loaded
55+
await waitFor(() => {
56+
expect(screen.getByTestId('empty-content')).to.be.visible;
57+
});
4958
});
5059

5160
it('shows the empty state', function () {
5261
expect(
53-
screen.getByText(
54-
'No saved Design, Visualize, and Evolve your Data Model'
55-
)
56-
).to.exist;
62+
screen.getByText('Design, Visualize, and Evolve your Data Model')
63+
).to.be.visible;
5764
});
5865

5966
it('allows to start adding diagrams', function () {
6067
const createDiagramButton = screen.getByRole('button', {
61-
name: 'Generate new diagram',
68+
name: 'Generate diagram',
6269
});
6370
expect(store.getState().generateDiagramWizard.inProgress).to.be.false;
6471
expect(createDiagramButton).to.be.visible;
@@ -70,17 +77,22 @@ describe('SavedDiagramsList', function () {
7077
context('when there are diagrams', function () {
7178
let store: DataModelingStore;
7279

73-
beforeEach(function () {
80+
beforeEach(async function () {
7481
const result = renderSavedDiagramsList({
7582
loadAll: () =>
7683
Promise.resolve([
7784
{
7885
id: 'diagram-1',
7986
name: 'Diagram 1',
80-
},
87+
} as MongoDBDataModelDescription,
8188
]),
8289
});
8390
store = result.store;
91+
92+
// wait till the list is loaded
93+
await waitFor(() => {
94+
expect(screen.getByTestId('saved-diagram-list')).to.be.visible;
95+
});
8496
});
8597

8698
it('shows the list of diagrams', function () {
@@ -89,7 +101,7 @@ describe('SavedDiagramsList', function () {
89101

90102
it('allows to add another diagram', function () {
91103
const createDiagramButton = screen.getByRole('button', {
92-
name: 'Generate diagram',
104+
name: 'Generate new diagram',
93105
});
94106
expect(store.getState().generateDiagramWizard.inProgress).to.be.false;
95107
expect(createDiagramButton).to.be.visible;

packages/compass-data-modeling/src/components/saved-diagrams-list.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ export const SavedDiagramsList: React.FunctionComponent<{
106106

107107
if (showList) {
108108
content = (
109-
<div>
109+
<div data-testid="saved-diagram-list">
110110
{items.map((diagram) => {
111111
return (
112112
<Card

0 commit comments

Comments
 (0)