1- const { getFormattedJestTestParameters } = require ( '../src/util' )
1+ const path = require ( 'path' )
2+ const { getFormattedJestTestParameters, getJestSuitesToRun } = require ( '../src/util' )
23
34describe ( 'getFormattedJestTestParameters' , ( ) => {
45 it ( 'returns formatted parameters for arrays' , ( ) => {
@@ -18,3 +19,57 @@ describe('getFormattedJestTestParameters', () => {
1819 expect ( resultObject ) . to . eql ( undefined )
1920 } )
2021} )
22+
23+ describe ( 'getJestSuitesToRun' , ( ) => {
24+ it ( 'returns filtered suites' , ( ) => {
25+ const skippableSuites = [
26+ 'src/unit.spec.js' ,
27+ 'src/integration.spec.js'
28+ ]
29+ const tests = [
30+ { path : '/workspace/dd-trace-js/src/unit.spec.js' } ,
31+ { path : '/workspace/dd-trace-js/src/integration.spec.js' } ,
32+ { path : '/workspace/dd-trace-js/src/e2e.spec.js' }
33+ ]
34+ const rootDir = '/workspace/dd-trace-js'
35+
36+ const filteredSuites = getJestSuitesToRun ( skippableSuites , tests , rootDir )
37+ expect ( filteredSuites ) . to . eql ( [ { path : '/workspace/dd-trace-js/src/e2e.spec.js' } ] )
38+ } )
39+
40+ it ( 'returns filtered suites when paths are windows like' , ( ) => {
41+ const skippableSuites = [
42+ 'src/unit.spec.js' ,
43+ 'src/integration.spec.js'
44+ ]
45+ const tests = [
46+ { path : `C:${ path . sep } temp${ path . sep } dd-trace-js${ path . sep } src${ path . sep } unit.spec.js` } ,
47+ { path : `C:${ path . sep } temp${ path . sep } dd-trace-js${ path . sep } src${ path . sep } integration.spec.js` } ,
48+ { path : `C:${ path . sep } temp${ path . sep } dd-trace-js${ path . sep } src${ path . sep } e2e.spec.js` }
49+ ]
50+ const rootDir = `C:${ path . sep } temp${ path . sep } dd-trace-js`
51+
52+ const filteredSuites = getJestSuitesToRun ( skippableSuites , tests , rootDir )
53+ expect ( filteredSuites ) . to . eql ( [
54+ { path : `C:${ path . sep } temp${ path . sep } dd-trace-js${ path . sep } src${ path . sep } e2e.spec.js` }
55+ ] )
56+ } )
57+
58+ it ( 'returns filtered suites when paths are relative' , ( ) => {
59+ const skippableSuites = [
60+ '../../src/unit.spec.js' ,
61+ '../../src/integration.spec.js'
62+ ]
63+ const tests = [
64+ { path : '/workspace/dd-trace-js/src/unit.spec.js' } ,
65+ { path : '/workspace/dd-trace-js/src/integration.spec.js' } ,
66+ { path : '/workspace/dd-trace-js/src/e2e.spec.js' }
67+ ]
68+ const rootDir = '/workspace/dd-trace-js/config/root-config'
69+
70+ const filteredSuites = getJestSuitesToRun ( skippableSuites , tests , rootDir )
71+ expect ( filteredSuites ) . to . eql ( [
72+ { path : '/workspace/dd-trace-js/src/e2e.spec.js' }
73+ ] )
74+ } )
75+ } )
0 commit comments