Skip to content

Commit 157ec3b

Browse files
authored
Add show setup commands (#3474)
* replace connect to Studio and open Studio settings commands * add integration tests for split
1 parent b3cc13d commit 157ec3b

File tree

5 files changed

+53
-5
lines changed

5 files changed

+53
-5
lines changed

extension/package.json

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,21 @@
421421
"command": "dvc.showExperimentsAndPlots",
422422
"category": "DVC"
423423
},
424+
{
425+
"title": "Connect to Studio",
426+
"command": "dvc.showStudioConnect",
427+
"category": "DVC"
428+
},
429+
{
430+
"title": "Show Studio Settings",
431+
"command": "dvc.showStudioSettings",
432+
"category": "DVC"
433+
},
434+
{
435+
"title": "Show Setup",
436+
"command": "dvc.showSetup",
437+
"category": "DVC"
438+
},
424439
{
425440
"title": "Stop All Running Experiments",
426441
"command": "dvc.stopAllRunningExperiments",
@@ -841,6 +856,14 @@
841856
"command": "dvc.showExperimentsAndPlots",
842857
"when": "dvc.commands.available && dvc.project.available"
843858
},
859+
{
860+
"command": "dvc.showStudioConnect",
861+
"when": "dvc.commands.available && dvc.project.available && !dvc.studio.connected"
862+
},
863+
{
864+
"command": "dvc.showStudioSettings",
865+
"when": "dvc.commands.available && dvc.project.available && dvc.studio.connected"
866+
},
844867
{
845868
"command": "dvc.stopAllRunningExperiments",
846869
"when": "dvc.commands.available && dvc.project.available && dvc.experiment.running"
@@ -1398,12 +1421,12 @@
13981421
},
13991422
{
14001423
"view": "dvc.views.studio",
1401-
"contents": "[$(plug) Connect](command:dvc.showStudioSetup)",
1424+
"contents": "[$(plug) Connect](command:dvc.showStudioConnect)",
14021425
"when": "!dvc.studio.connected"
14031426
},
14041427
{
14051428
"view": "dvc.views.studio",
1406-
"contents": "[$(settings-gear) Open Settings](command:dvc.showStudioSetup)",
1429+
"contents": "[$(settings-gear) Open Settings](command:dvc.showStudioSettings)",
14071430
"when": "dvc.studio.connected"
14081431
},
14091432
{

extension/src/commands/external.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,14 @@ export enum RegisteredCommands {
9595

9696
SETUP_SHOW = 'dvc.showSetup',
9797
SETUP_SHOW_EXPERIMENTS = 'dvc.showExperimentsSetup',
98-
SETUP_SHOW_STUDIO = 'dvc.showStudioSetup',
9998
SELECT_FOCUSED_PROJECTS = 'dvc.selectFocusedProjects',
10099

101100
ADD_STUDIO_ACCESS_TOKEN = 'dvc.addStudioAccessToken',
102101
UPDATE_STUDIO_ACCESS_TOKEN = 'dvc.updateStudioAccessToken',
103102
REMOVE_STUDIO_ACCESS_TOKEN = 'dvc.removeStudioAccessToken',
104103
EXPERIMENT_VIEW_SHARE_TO_STUDIO = 'dvc.views.experiments.shareExperimentToStudio',
104+
SETUP_SHOW_STUDIO_CONNECT = 'dvc.showStudioConnect',
105+
SETUP_SHOW_STUDIO_SETTINGS = 'dvc.showStudioSettings',
105106

106107
RESET_STATE = 'dvc.resetState'
107108
}

extension/src/setup/register.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,14 @@ const registerSetupShowCommands = (
4545
)
4646

4747
internalCommands.registerExternalCommand(
48-
RegisteredCommands.SETUP_SHOW_STUDIO,
48+
RegisteredCommands.SETUP_SHOW_STUDIO_CONNECT,
49+
async () => {
50+
await setup.showSetup(Section.STUDIO)
51+
}
52+
)
53+
54+
internalCommands.registerExternalCommand(
55+
RegisteredCommands.SETUP_SHOW_STUDIO_SETTINGS,
4956
async () => {
5057
await setup.showSetup(Section.STUDIO)
5158
}

extension/src/telemetry/constants.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,8 +281,9 @@ export interface IEventNamePropertyMapping {
281281

282282
[EventName.SETUP_SHOW]: undefined
283283
[EventName.SETUP_SHOW_EXPERIMENTS]: undefined
284-
[EventName.SETUP_SHOW_STUDIO]: undefined
285284
[EventName.SELECT_FOCUSED_PROJECTS]: undefined
285+
[EventName.SETUP_SHOW_STUDIO_SETTINGS]: undefined
286+
[EventName.SETUP_SHOW_STUDIO_CONNECT]: undefined
286287

287288
[EventName.ADD_STUDIO_ACCESS_TOKEN]: undefined
288289
[EventName.UPDATE_STUDIO_ACCESS_TOKEN]: undefined

extension/src/test/suite/setup/index.test.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -870,4 +870,20 @@ suite('Setup Test Suite', () => {
870870
expect(mockShow).to.be.calledWithMatch({ sectionCollapsed: undefined })
871871
})
872872
})
873+
874+
it('should open the webview with the Studio section focus for dvc.showStudioSettings and dvc.showStudioConnect', async () => {
875+
const mockShowWebview = stub(Setup.prototype, 'showSetup').resolves(
876+
undefined
877+
)
878+
879+
await commands.executeCommand(RegisteredCommands.SETUP_SHOW_STUDIO_CONNECT)
880+
881+
expect(mockShowWebview).to.be.calledWithExactly(Section.STUDIO)
882+
883+
mockShowWebview.resetHistory()
884+
885+
await commands.executeCommand(RegisteredCommands.SETUP_SHOW_STUDIO_SETTINGS)
886+
887+
expect(mockShowWebview).to.be.calledWithExactly(Section.STUDIO)
888+
})
873889
})

0 commit comments

Comments
 (0)