@@ -6386,6 +6386,54 @@ describe(`jest@${JEST_VERSION} commonJS`, () => {
63866386 } ) . catch ( done )
63876387 } )
63886388 } )
6389+
6390+ it ( 'does detect custom tags on test suites from beforeAll and afterAll hooks' , ( done ) => {
6391+ const eventsPromise = receiver
6392+ . gatherPayloadsMaxTimeout ( ( { url } ) => url . endsWith ( '/api/v2/citestcycle' ) , payloads => {
6393+ const events = payloads . flatMap ( ( { payload } ) => payload . events )
6394+ const testSuite = events . find ( event => event . type === 'test_suite_end' ) . content
6395+
6396+ assertObjectContains ( testSuite , {
6397+ meta : {
6398+ 'suite.beforeAll' : 'true' ,
6399+ 'suite.afterAll' : 'true' ,
6400+ } ,
6401+ } )
6402+
6403+ const suiteSpanId = testSuite . test_suite_id . toString ( )
6404+ const sessionTraceId = testSuite . test_session_id . toString ( )
6405+
6406+ // Spans created in beforeAll/afterAll appear as 'span' events and are children of the test suite span
6407+ const spans = events . filter ( event => event . type === 'span' ) . map ( event => event . content )
6408+ const beforeAllSpan = spans . find ( span => span . resource === 'beforeAll.setup' )
6409+ const afterAllSpan = spans . find ( span => span . resource === 'afterAll.teardown' )
6410+
6411+ assert . ok ( beforeAllSpan )
6412+ assert . strictEqual ( beforeAllSpan . parent_id . toString ( ) , suiteSpanId )
6413+ assert . strictEqual ( beforeAllSpan . trace_id . toString ( ) , sessionTraceId )
6414+
6415+ assert . ok ( afterAllSpan )
6416+ assert . strictEqual ( afterAllSpan . parent_id . toString ( ) , suiteSpanId )
6417+ assert . strictEqual ( afterAllSpan . trace_id . toString ( ) , sessionTraceId )
6418+ } )
6419+
6420+ childProcess = exec (
6421+ runTestsCommand ,
6422+ {
6423+ cwd,
6424+ env : {
6425+ ...getCiVisAgentlessConfig ( receiver . port ) ,
6426+ TESTS_TO_RUN : 'ci-visibility/test-suite-custom-tags' ,
6427+ } ,
6428+ }
6429+ )
6430+
6431+ childProcess . on ( 'exit' , ( ) => {
6432+ eventsPromise . then ( ( ) => {
6433+ done ( )
6434+ } ) . catch ( done )
6435+ } )
6436+ } )
63896437 } )
63906438
63916439 context ( 'impacted tests' , ( ) => {
0 commit comments