@@ -258,6 +258,21 @@ describe('createOrSelectTheme', async () => {
258258 expect ( setDevelopmentTheme ) . not . toHaveBeenCalled ( )
259259 } )
260260
261+ test ( 'creates unpublished theme when name flag is provided' , async ( ) => {
262+ // Given
263+ vi . mocked ( themeCreate ) . mockResolvedValue ( buildTheme ( { id : 2 , name : 'Custom name' , role : UNPUBLISHED_THEME_ROLE } ) )
264+ vi . mocked ( fetchTheme ) . mockResolvedValue ( undefined )
265+
266+ const flags : PushFlags = { name : 'Custom name' }
267+
268+ // When
269+ const theme = await createOrSelectTheme ( adminSession , flags )
270+
271+ // Then
272+ expect ( theme ) . toMatchObject ( { name : 'Custom name' } )
273+ expect ( setDevelopmentTheme ) . not . toHaveBeenCalled ( )
274+ } )
275+
261276 test ( 'creates development theme when development flag is provided' , async ( ) => {
262277 // Given
263278 vi . mocked ( themeCreate ) . mockResolvedValue ( buildTheme ( { id : 1 , name : 'Theme' , role : DEVELOPMENT_THEME_ROLE } ) )
@@ -272,6 +287,20 @@ describe('createOrSelectTheme', async () => {
272287 expect ( setDevelopmentTheme ) . toHaveBeenCalled ( )
273288 } )
274289
290+ test ( 'creates development theme when development and name flags are provided' , async ( ) => {
291+ // Given
292+ vi . mocked ( themeCreate ) . mockResolvedValue ( buildTheme ( { id : 1 , name : 'Custom name' , role : DEVELOPMENT_THEME_ROLE } ) )
293+ vi . mocked ( fetchTheme ) . mockResolvedValue ( undefined )
294+ const flags : PushFlags = { development : true , name : 'Custom name' }
295+
296+ // When
297+ const theme = await createOrSelectTheme ( adminSession , flags )
298+
299+ // Then
300+ expect ( theme ) . toMatchObject ( { role : DEVELOPMENT_THEME_ROLE , name : 'Custom name' } )
301+ expect ( setDevelopmentTheme ) . toHaveBeenCalled ( )
302+ } )
303+
275304 test ( 'creates development theme when development and unpublished flags are provided' , async ( ) => {
276305 // Given
277306 vi . mocked ( themeCreate ) . mockResolvedValue ( buildTheme ( { id : 1 , name : 'Theme' , role : DEVELOPMENT_THEME_ROLE } ) )
0 commit comments