@@ -346,4 +346,30 @@ module('/settings/tokens/new', function (hooks) {
346346 assert . strictEqual ( currentURL ( ) , '/settings/tokens/new?from=1' ) ;
347347 assert . dom ( '[data-test-title]' ) . hasText ( 'Token not found' ) ;
348348 } ) ;
349+
350+ test ( 'trusted-publishing scope' , async function ( assert ) {
351+ prepare ( this ) ;
352+
353+ await visit ( '/settings/tokens/new' ) ;
354+ assert . strictEqual ( currentURL ( ) , '/settings/tokens/new' ) ;
355+
356+ await fillIn ( '[data-test-name]' , 'trusted-publishing-token' ) ;
357+ await select ( '[data-test-expiry]' , 'none' ) ;
358+ await click ( '[data-test-scope="trusted-publishing"]' ) ;
359+ await click ( '[data-test-generate]' ) ;
360+
361+ let token = this . db . apiToken . findFirst ( { where : { name : { equals : 'trusted-publishing-token' } } } ) ;
362+ assert . ok ( Boolean ( token ) , 'API token has been created in the backend database' ) ;
363+ assert . strictEqual ( token . name , 'trusted-publishing-token' ) ;
364+ assert . strictEqual ( token . expiredAt , null ) ;
365+ assert . strictEqual ( token . crateScopes , null ) ;
366+ assert . deepEqual ( token . endpointScopes , [ 'trusted-publishing' ] ) ;
367+
368+ assert . strictEqual ( currentURL ( ) , '/settings/tokens' ) ;
369+ assert . dom ( '[data-test-api-token="1"] [data-test-name]' ) . hasText ( 'trusted-publishing-token' ) ;
370+ assert . dom ( '[data-test-api-token="1"] [data-test-token]' ) . hasText ( token . token ) ;
371+ assert . dom ( '[data-test-api-token="1"] [data-test-endpoint-scopes]' ) . hasText ( 'Scopes: trusted-publishing' ) ;
372+ assert . dom ( '[data-test-api-token="1"] [data-test-crate-scopes]' ) . doesNotExist ( ) ;
373+ assert . dom ( '[data-test-api-token="1"] [data-test-expired-at]' ) . doesNotExist ( ) ;
374+ } ) ;
349375} ) ;
0 commit comments