Skip to content

Commit 27cd80c

Browse files
authored
Revert "chore: extract an interface named ConnectionProvider and adapt the current connection loader to use it. " (#5475)
Revert "chore: extract an interface named ConnectionProvider and adapt the cu…" This reverts commit b2ef862.
1 parent b2ef862 commit 27cd80c

File tree

25 files changed

+363
-790
lines changed

25 files changed

+363
-790
lines changed

package-lock.json

Lines changed: 1 addition & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/compass-connections/src/components/connection-list/connection-list.spec.tsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ for (let i = 0; i < 5; i++) {
2424
});
2525
}
2626

27-
const mockFavorites: ConnectionInfo[] = [
27+
const mockFavorites = [
2828
{
2929
id: 'mock-connection-atlas',
3030
connectionOptions: {
@@ -35,7 +35,6 @@ const mockFavorites: ConnectionInfo[] = [
3535
name: 'Atlas test',
3636
color: '#d4366e',
3737
},
38-
savedConnectionType: 'favorite',
3938
lastUsed: new Date(),
4039
},
4140
{
@@ -47,7 +46,6 @@ const mockFavorites: ConnectionInfo[] = [
4746
name: 'super long favorite name - super long favorite name - super long favorite name - super long favorite name',
4847
color: '#5fc86e',
4948
},
50-
savedConnectionType: 'favorite',
5149
lastUsed: new Date(),
5250
},
5351
{
@@ -59,15 +57,13 @@ const mockFavorites: ConnectionInfo[] = [
5957
name: 'favorite',
6058
color: '#5fc86e',
6159
},
62-
savedConnectionType: 'favorite',
6360
lastUsed: new Date(),
6461
},
6562
{
6663
id: 'mock-connection-invalid string',
6764
connectionOptions: {
6865
connectionString: 'invalid connection string',
6966
},
70-
savedConnectionType: 'recent',
7167
lastUsed: new Date(),
7268
},
7369
];

packages/compass-connections/src/components/connection-list/connection.tsx

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -139,14 +139,14 @@ const colorIndicatorStyles = css({
139139
});
140140

141141
function FavoriteColorIndicator({
142-
color,
142+
favorite,
143143
className,
144144
}: {
145-
color?: string;
145+
favorite?: ConnectionInfo['favorite'];
146146
className?: string;
147147
}): React.ReactElement {
148148
const { connectionColorToHex } = useConnectionColor();
149-
const favoriteColorHex = connectionColorToHex(color);
149+
const favoriteColorHex = connectionColorToHex(favorite?.color);
150150

151151
return (
152152
<div
@@ -194,7 +194,6 @@ function Connection({
194194
const connectionTitle = getConnectionTitle(connectionInfo);
195195
const {
196196
connectionOptions: { connectionString },
197-
savedConnectionType,
198197
favorite,
199198
lastUsed,
200199
} = connectionInfo;
@@ -293,23 +292,25 @@ function Connection({
293292
onClick={onClick}
294293
onDoubleClick={() => onDoubleClick(connectionInfo)}
295294
>
296-
<FavoriteColorIndicator color={favorite?.color} />
295+
<FavoriteColorIndicator favorite={connectionInfo.favorite} />
297296
<ConnectionIcon
298297
color={titleColor}
299298
connectionString={connectionString}
300299
/>
301300
<H3
302301
className={connectionTitleStyles}
303302
style={{ color: titleColor }}
304-
data-testid={`${savedConnectionType}-connection-title`}
303+
data-testid={`${favorite ? 'favorite' : 'recent'}-connection-title`}
305304
title={connectionTitle}
306305
>
307306
{connectionTitle}
308307
</H3>
309308
<Description
310309
className={connectionDescriptionStyles}
311310
style={{ color: descriptionColor }}
312-
data-testid={`${savedConnectionType}-connection-description`}
311+
data-testid={`${
312+
favorite ? 'favorite' : 'recent'
313+
}-connection-description`}
313314
>
314315
{lastUsed ? lastUsed.toLocaleString('default', dateConfig) : 'Never'}
315316
</Description>

packages/compass-connections/src/components/connections.spec.tsx

Lines changed: 41 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,6 @@ import { ToastArea } from '@mongodb-js/compass-components';
2121
import type { PreferencesAccess } from 'compass-preferences-model';
2222
import { createSandboxFromDefaultPreferences } from 'compass-preferences-model';
2323
import { PreferencesProvider } from 'compass-preferences-model/provider';
24-
import { ConnectionRepository } from '@mongodb-js/connection-storage/main';
25-
import {
26-
ConnectionRepositoryContext,
27-
ConnectionStorageContext,
28-
} from '@mongodb-js/connection-storage/provider';
2924

3025
function getMockConnectionStorage(mockConnections: ConnectionInfo[]) {
3126
return {
@@ -86,24 +81,20 @@ describe('Connections Component', function () {
8681
beforeEach(function () {
8782
const mockStorage = getMockConnectionStorage([]);
8883
loadConnectionsSpy = sinon.spy(mockStorage, 'loadAll');
89-
const connectionRepository = new ConnectionRepository(mockStorage);
9084

9185
render(
9286
<PreferencesProvider value={preferences}>
93-
<ConnectionStorageContext.Provider value={mockStorage}>
94-
<ConnectionRepositoryContext.Provider value={connectionRepository}>
95-
<Connections
96-
onConnected={onConnectedSpy}
97-
appName="Test App Name"
98-
/>
99-
</ConnectionRepositoryContext.Provider>
100-
</ConnectionStorageContext.Provider>
87+
<Connections
88+
onConnected={onConnectedSpy}
89+
connectionStorage={mockStorage}
90+
appName="Test App Name"
91+
/>
10192
</PreferencesProvider>
10293
);
10394
});
10495

10596
it('calls once to load the connections', function () {
106-
expect(loadConnectionsSpy.callCount).to.equal(2); // favorite + recent
97+
expect(loadConnectionsSpy.callCount).to.equal(1);
10798
});
10899

109100
it('renders the connect button from the connect-form', function () {
@@ -173,21 +164,17 @@ describe('Connections Component', function () {
173164
];
174165
mockStorage = getMockConnectionStorage(connections);
175166
sinon.replace(mockStorage, 'save', saveConnectionSpy);
176-
const connectionRepository = new ConnectionRepository(mockStorage);
177167

178168
render(
179169
<PreferencesProvider value={preferences}>
180-
<ConnectionStorageContext.Provider value={mockStorage}>
181-
<ConnectionRepositoryContext.Provider value={connectionRepository}>
182-
<ToastArea>
183-
<Connections
184-
onConnected={onConnectedSpy}
185-
connectFn={mockConnectFn}
186-
appName="Test App Name"
187-
/>
188-
</ToastArea>
189-
</ConnectionRepositoryContext.Provider>
190-
</ConnectionStorageContext.Provider>
170+
<ToastArea>
171+
<Connections
172+
onConnected={onConnectedSpy}
173+
connectFn={mockConnectFn}
174+
connectionStorage={mockStorage}
175+
appName="Test App Name"
176+
/>
177+
</ToastArea>
191178
</PreferencesProvider>
192179
);
193180

@@ -351,21 +338,15 @@ describe('Connections Component', function () {
351338
];
352339
const mockStorage = getMockConnectionStorage(connections);
353340
sinon.replace(mockStorage, 'save', saveConnectionSpy);
354-
const connectionRepository = new ConnectionRepository(mockStorage);
355341

356342
render(
357343
<PreferencesProvider value={preferences}>
358-
<ConnectionStorageContext.Provider value={mockStorage}>
359-
<ConnectionRepositoryContext.Provider value={connectionRepository}>
360-
<ToastArea>
361-
<Connections
362-
onConnected={onConnectedSpy}
363-
connectFn={mockConnectFn}
364-
appName="Test App Name"
365-
/>
366-
</ToastArea>
367-
</ConnectionRepositoryContext.Provider>
368-
</ConnectionStorageContext.Provider>
344+
<Connections
345+
onConnected={onConnectedSpy}
346+
connectFn={mockConnectFn}
347+
connectionStorage={mockStorage}
348+
appName="Test App Name"
349+
/>
369350
</PreferencesProvider>
370351
);
371352

@@ -488,21 +469,15 @@ describe('Connections Component', function () {
488469
sinon
489470
.stub(mockStorage, 'getLegacyConnections')
490471
.resolves([{ name: 'Connection1' }]);
491-
492-
const connectionRepository = new ConnectionRepository(mockStorage);
493-
494472
render(
495473
<PreferencesProvider value={preferences}>
496-
<ConnectionStorageContext.Provider value={mockStorage}>
497-
<ConnectionRepositoryContext.Provider value={connectionRepository}>
498-
<ToastArea>
499-
<Connections
500-
onConnected={onConnectedSpy}
501-
appName="Test App Name"
502-
/>
503-
</ToastArea>
504-
</ConnectionRepositoryContext.Provider>
505-
</ConnectionStorageContext.Provider>
474+
<ToastArea>
475+
<Connections
476+
onConnected={onConnectedSpy}
477+
connectionStorage={mockStorage}
478+
appName="Test App Name"
479+
/>
480+
</ToastArea>
506481
</PreferencesProvider>
507482
);
508483

@@ -519,21 +494,15 @@ describe('Connections Component', function () {
519494
sinon
520495
.stub(mockStorage, 'getLegacyConnections')
521496
.resolves([{ name: 'Connection2' }]);
522-
523-
const connectionRepository = new ConnectionRepository(mockStorage);
524-
525497
const { rerender } = render(
526498
<PreferencesProvider value={preferences}>
527-
<ConnectionStorageContext.Provider value={mockStorage}>
528-
<ConnectionRepositoryContext.Provider value={connectionRepository}>
529-
<ToastArea>
530-
<Connections
531-
onConnected={onConnectedSpy}
532-
appName="Test App Name"
533-
/>
534-
</ToastArea>
535-
</ConnectionRepositoryContext.Provider>
536-
</ConnectionStorageContext.Provider>
499+
<ToastArea>
500+
<Connections
501+
onConnected={onConnectedSpy}
502+
connectionStorage={mockStorage}
503+
appName="Test App Name"
504+
/>
505+
</ToastArea>
537506
</PreferencesProvider>
538507
);
539508

@@ -549,17 +518,13 @@ describe('Connections Component', function () {
549518

550519
rerender(
551520
<PreferencesProvider value={preferences}>
552-
<ConnectionStorageContext.Provider value={mockStorage}>
553-
<ConnectionRepositoryContext.Provider value={connectionRepository}>
554-
<ToastArea>
555-
<Connections
556-
onConnected={onConnectedSpy}
557-
connectionStorage={mockStorage}
558-
appName="Test App Name"
559-
/>
560-
</ToastArea>
561-
</ConnectionRepositoryContext.Provider>
562-
</ConnectionStorageContext.Provider>
521+
<ToastArea>
522+
<Connections
523+
onConnected={onConnectedSpy}
524+
connectionStorage={mockStorage}
525+
appName="Test App Name"
526+
/>
527+
</ToastArea>
563528
</PreferencesProvider>
564529
);
565530

0 commit comments

Comments
 (0)