@@ -252,6 +252,45 @@ describe('SearchModal', () => {
252252 expect ( rows [ 2 ] ) . toContain ( 'Onboarding' )
253253 } )
254254
255+ it ( 'puts an exact-name block before its page and contents on the workflow editor' , async ( ) => {
256+ const Icon = ( ) => null
257+ const original = { ...mockSearchState . data }
258+ mockSearchState . data = {
259+ ...mockSearchState . data ,
260+ blocks : [ { id : 'logs' , name : 'Logs' , icon : Icon , bgColor : '#111' , type : 'logs' } ] ,
261+ }
262+ const logs = [
263+ {
264+ id : 'log-1' ,
265+ name : 'Billing sync' ,
266+ href : '/workspace/workspace-1/logs?executionId=e1' ,
267+ date : 'Aug 8, 1:00 PM' ,
268+ } ,
269+ {
270+ id : 'log-2' ,
271+ name : 'Onboarding' ,
272+ href : '/workspace/workspace-1/logs?executionId=e2' ,
273+ date : 'Aug 8, 2:00 PM' ,
274+ } ,
275+ ]
276+ try {
277+ await act ( async ( ) => {
278+ root . render ( < SearchModal open onOpenChange = { vi . fn ( ) } pageContext = 'workflow' logs = { logs } /> )
279+ } )
280+
281+ await enterSearchQuery ( 'Logs' )
282+ const rows = Array . from ( document . querySelectorAll < HTMLElement > ( '[cmdk-item]' ) )
283+ expect ( rows . slice ( 0 , 4 ) . map ( ( row ) => row . textContent ?? '' ) ) . toEqual ( [
284+ 'Logs' ,
285+ 'Logs⇧⌘L' ,
286+ 'Billing syncAug 8, 1:00 PM' ,
287+ 'OnboardingAug 8, 2:00 PM' ,
288+ ] )
289+ } finally {
290+ mockSearchState . data = original
291+ }
292+ } )
293+
255294 it ( 'puts Create workflow first for the module-name query, then the workflows' , async ( ) => {
256295 const workflows = [
257296 { id : 'workflow-a' , name : 'Alpha' , href : '/workspace/workspace-1/w/workflow-a' } ,
0 commit comments