Skip to content

Commit 87c7678

Browse files
authored
feat(collections): redirect to the new collection after creating it COMPASS-6019 (#3971)
* redirect to the new collection after creating it * adding a collection also affects adding a database * get back to the collection list for hte fle tests after creating collections
1 parent 6900ac5 commit 87c7678

File tree

5 files changed

+39
-2
lines changed

5 files changed

+39
-2
lines changed

packages/compass-app-stores/src/stores/instance-store.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -259,8 +259,10 @@ store.onActivated = (appRegistry) => {
259259
store.refreshNamespaceStats(ns);
260260
});
261261

262-
appRegistry.on('collection-created', (ns) => {
263-
store.refreshNamespace(ns);
262+
appRegistry.on('collection-created', async({ ns, database }) => {
263+
store.refreshNamespace({ ns, database });
264+
const metadata = await store.fetchCollectionMetadata(ns);
265+
appRegistry.emit('select-namespace', metadata);
264266
});
265267

266268
appRegistry.on('collections-list-select-collection', async({ ns }) => {

packages/compass-e2e-tests/tests/database-collections-tab.test.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ describe('Database collections tab', function () {
9797
'add-collection-modal-basic.png'
9898
);
9999

100+
await browser.navigateToDatabaseTab('test', 'Collections');
101+
100102
const selector = Selectors.collectionCard('test', collectionName);
101103
await browser.scrollToVirtualItem(
102104
Selectors.CollectionsGrid,
@@ -146,6 +148,8 @@ describe('Database collections tab', function () {
146148
'add-collection-modal-capped.png'
147149
);
148150

151+
await browser.navigateToDatabaseTab('test', 'Collections');
152+
149153
const selector = Selectors.collectionCard('test', collectionName);
150154
await browser.scrollToVirtualItem(
151155
Selectors.CollectionsGrid,
@@ -182,6 +186,8 @@ describe('Database collections tab', function () {
182186
'add-collection-modal-custom-collation.png'
183187
);
184188

189+
await browser.navigateToDatabaseTab('test', 'Collections');
190+
185191
const selector = Selectors.collectionCard('test', collectionName);
186192
await browser.scrollToVirtualItem(
187193
Selectors.CollectionsGrid,
@@ -219,6 +225,8 @@ describe('Database collections tab', function () {
219225
'add-collection-modal-timeseries.png'
220226
);
221227

228+
await browser.navigateToDatabaseTab('test', 'Collections');
229+
222230
const selector = Selectors.collectionCard('test', collectionName);
223231
await browser.scrollToVirtualItem(
224232
Selectors.CollectionsGrid,
@@ -255,6 +263,8 @@ describe('Database collections tab', function () {
255263
'add-collection-modal-clustered.png'
256264
);
257265

266+
await browser.navigateToDatabaseTab('test', 'Collections');
267+
258268
const selector = Selectors.collectionCard('test', collectionName);
259269
await browser.scrollToVirtualItem(
260270
Selectors.CollectionsGrid,

packages/compass-e2e-tests/tests/in-use-encryption.test.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,8 @@ describe('FLE2', function () {
199199
'add-collection-modal-encryptedfields.png'
200200
);
201201

202+
await browser.navigateToDatabaseTab(databaseName, 'Collections');
203+
202204
const collectionListFLE2BadgeElement = await browser.$(
203205
Selectors.CollectionListFLE2Badge
204206
);
@@ -297,6 +299,8 @@ describe('FLE2', function () {
297299
await browser.clickVisible(Selectors.DatabaseCreateCollectionButton);
298300
await browser.addCollection(collectionName);
299301

302+
await browser.navigateToDatabaseTab(databaseName, 'Collections');
303+
300304
const selector = Selectors.collectionCard(databaseName, collectionName);
301305
await browser.scrollToVirtualItem(
302306
Selectors.CollectionsGrid,

packages/compass-e2e-tests/tests/instance-databases-tab.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@ describe('Instance databases tab', function () {
9595
'add-database-modal-basic.png'
9696
);
9797

98+
await browser.navigateToInstanceTab('Databases');
99+
98100
const selector = Selectors.databaseCard(dbName);
99101
await browser.scrollToVirtualItem(
100102
Selectors.DatabasesTable,

packages/compass-e2e-tests/tests/instance-sidebar.test.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,16 @@ describe('Instance sidebar', function () {
121121
await browser.clickVisible(Selectors.SidebarCreateDatabaseButton);
122122

123123
await browser.addDatabase(dbName, collectionName);
124+
125+
// the app should land on the collection's documents tab
126+
const headerSelector = Selectors.collectionHeaderTitle(
127+
dbName,
128+
collectionName
129+
);
130+
await browser.$(headerSelector).waitForDisplayed();
131+
const tabSelectedSelector = Selectors.collectionTab('Documents', true);
132+
await browser.$(tabSelectedSelector).waitForDisplayed();
133+
124134
await browser.clickVisible(Selectors.sidebarDatabase(dbName));
125135

126136
// wait for it to appear
@@ -160,6 +170,15 @@ describe('Instance sidebar', function () {
160170

161171
await browser.addCollection(collectionName);
162172

173+
// the app should land on the collection's documents tab
174+
const headerSelector = Selectors.collectionHeaderTitle(
175+
dbName,
176+
collectionName
177+
);
178+
await browser.$(headerSelector).waitForDisplayed();
179+
const tabSelectedSelector = Selectors.collectionTab('Documents', true);
180+
await browser.$(tabSelectedSelector).waitForDisplayed();
181+
163182
const collectionSelector = Selectors.sidebarCollection(
164183
dbName,
165184
collectionName

0 commit comments

Comments
 (0)