@@ -112,7 +112,10 @@ function makePairingConnectInfo(
112112describe ( "createSyncRemoteCommandService" , ( ) => {
113113 it ( "serves the cross-client usage snapshot to paired mobile and web clients" , async ( ) => {
114114 const getAdeUsageStats = vi . fn ( ) . mockResolvedValue ( { generatedAt : "2026-07-09T12:00:00.000Z" , daily : [ ] } ) ;
115- const { service } = createService ( { usageTrackingService : { getAdeUsageStats } } ) ;
115+ const quotaSnapshot = { windows : [ ] , lastPolledAt : "2026-07-09T12:00:00.000Z" , errors : [ ] } ;
116+ const getUsageSnapshot = vi . fn ( ( ) => quotaSnapshot ) ;
117+ const forceRefresh = vi . fn ( async ( ) => ( { ...quotaSnapshot , lastPolledAt : "2026-07-09T12:01:00.000Z" } ) ) ;
118+ const { service } = createService ( { usageTrackingService : { getAdeUsageStats, getUsageSnapshot, forceRefresh } } ) ;
116119
117120 expect ( service . getDescriptor ( "usage.getAdeStats" ) ) . toEqual ( {
118121 action : "usage.getAdeStats" ,
@@ -127,14 +130,29 @@ describe("createSyncRemoteCommandService", () => {
127130 await expect ( service . execute ( makePayload ( "usage.getAdeStats" , { preset : "decade" } ) ) ) . rejects . toThrow (
128131 "usage.getAdeStats preset must be today, 7d, 30d, year, or all." ,
129132 ) ;
133+ expect ( service . getDescriptor ( "usage.getQuotaSnapshot" ) ) . toEqual ( {
134+ action : "usage.getQuotaSnapshot" ,
135+ scope : "runtime" ,
136+ policy : { viewerAllowed : true } ,
137+ } ) ;
138+ expect ( service . getDescriptor ( "usage.refreshQuota" ) ) . toEqual ( {
139+ action : "usage.refreshQuota" ,
140+ scope : "runtime" ,
141+ policy : { viewerAllowed : true } ,
142+ } ) ;
143+ await expect ( service . execute ( makePayload ( "usage.getQuotaSnapshot" ) ) ) . resolves . toEqual ( quotaSnapshot ) ;
144+ await expect ( service . execute ( makePayload ( "usage.refreshQuota" ) ) ) . resolves . toMatchObject ( {
145+ lastPolledAt : "2026-07-09T12:01:00.000Z" ,
146+ } ) ;
147+ expect ( getUsageSnapshot ) . toHaveBeenCalledTimes ( 1 ) ;
148+ expect ( forceRefresh ) . toHaveBeenCalledWith ( { allowInteractiveAuth : false } ) ;
130149
131150 getAdeUsageStats . mockClear ( ) ;
132151 await service . execute ( makePayload ( "usage.getAdeStats" , { preset : "7d" , scope : "project" } ) ) ;
133152 expect ( getAdeUsageStats ) . toHaveBeenCalledWith ( { preset : "7d" , scope : "project" } ) ;
134153 await expect ( service . execute ( makePayload ( "usage.getAdeStats" , { scope : "galaxy" } ) ) ) . rejects . toThrow (
135154 "usage.getAdeStats scope must be machine or project." ,
136155 ) ;
137-
138156 getAdeUsageStats . mockClear ( ) ;
139157 await service . execute ( makePayload ( "usage.getAdeStats" , {
140158 since : "2026-07-01T00:00:00.000Z" ,
0 commit comments