File tree Expand file tree Collapse file tree 6 files changed +29
-2
lines changed
webview/src/connect/components Expand file tree Collapse file tree 6 files changed +29
-2
lines changed Original file line number Diff line number Diff line change 117117 "command" : " dvc.addStudioAccessToken" ,
118118 "category" : " DVC"
119119 },
120+ {
121+ "title" : " Update Studio Access Token" ,
122+ "command" : " dvc.updateStudioAccessToken" ,
123+ "category" : " DVC"
124+ },
120125 {
121126 "title" : " Add" ,
122127 "command" : " dvc.addTarget" ,
635640 },
636641 {
637642 "command" : " dvc.addStudioAccessToken" ,
638- "when" : " dvc.commands.available && dvc.project.available"
643+ "when" : " dvc.commands.available && dvc.project.available && !dvc.studio.connected"
644+ },
645+ {
646+ "command" : " dvc.updateStudioAccessToken" ,
647+ "when" : " dvc.commands.available && dvc.project.available && dvc.studio.connected"
639648 },
640649 {
641650 "command" : " dvc.addTarget" ,
Original file line number Diff line number Diff line change @@ -99,6 +99,7 @@ export enum RegisteredCommands {
9999 CONNECT_SHOW = 'dvc.showConnect' ,
100100 OPEN_STUDIO_SETTINGS = 'dvc.showStudioSettings' ,
101101 ADD_STUDIO_ACCESS_TOKEN = 'dvc.addStudioAccessToken' ,
102+ UPDATE_STUDIO_ACCESS_TOKEN = 'dvc.updateStudioAccessToken' ,
102103 REMOVE_STUDIO_ACCESS_TOKEN = 'dvc.removeStudioAccessToken' ,
103104 EXPERIMENT_VIEW_SHARE_TO_STUDIO = 'dvc.views.experiments.shareExperimentToStudio'
104105}
Original file line number Diff line number Diff line change @@ -21,6 +21,11 @@ export const registerConnectCommands = (
2121 ( ) => connect . saveStudioAccessToken ( )
2222 )
2323
24+ internalCommands . registerExternalCommand (
25+ RegisteredCommands . UPDATE_STUDIO_ACCESS_TOKEN ,
26+ ( ) => connect . saveStudioAccessToken ( )
27+ )
28+
2429 internalCommands . registerExternalCommand (
2530 RegisteredCommands . REMOVE_STUDIO_ACCESS_TOKEN ,
2631 ( ) => connect . removeStudioAccessToken ( )
Original file line number Diff line number Diff line change @@ -287,5 +287,6 @@ export interface IEventNamePropertyMapping {
287287 [ EventName . CONNECT_SHOW ] : undefined
288288 [ EventName . OPEN_STUDIO_SETTINGS ] : undefined
289289 [ EventName . ADD_STUDIO_ACCESS_TOKEN ] : undefined
290+ [ EventName . UPDATE_STUDIO_ACCESS_TOKEN ] : undefined
290291 [ EventName . REMOVE_STUDIO_ACCESS_TOKEN ] : undefined
291292}
Original file line number Diff line number Diff line change @@ -96,5 +96,16 @@ describe('App', () => {
9696 type : MessageFromWebviewType . SET_STUDIO_SHARE_EXPERIMENTS_LIVE
9797 } )
9898 } )
99+
100+ it ( 'should enable the user to update their studio token' , ( ) => {
101+ const shareExperimentsLive = false
102+ renderApp ( true , shareExperimentsLive )
103+ mockPostMessage . mockClear ( )
104+ const button = screen . getByText ( 'Update Token' )
105+ fireEvent . click ( button )
106+ expect ( mockPostMessage ) . toHaveBeenCalledWith ( {
107+ type : MessageFromWebviewType . SAVE_STUDIO_TOKEN
108+ } )
109+ } )
99110 } )
100111} )
Original file line number Diff line number Diff line change @@ -82,7 +82,7 @@ const Settings: React.FC<{
8282 appearance = "primary"
8383 isNested = { false }
8484 text = { 'Update Token' }
85- onClick = { openStudio }
85+ onClick = { saveStudioToken }
8686 />
8787 < Button
8888 appearance = "secondary"
You can’t perform that action at this time.
0 commit comments