@@ -216,6 +216,52 @@ describe('renderer', () => {
216216 expect ( $ ( 'tr' ) ) . toHaveLength ( 5 )
217217 } )
218218
219+ describe ( 'filterPackageResults' , ( ) => {
220+ it ( 'returns all package results when no omit options are set' , async ( ) => {
221+ const renderer = await getRenderer ( )
222+ const filtered = ( renderer as any ) . filterPackageResults ( )
223+
224+ expect ( filtered ) . toHaveLength ( 4 )
225+ expect ( filtered ) . toEqual ( renderer . packageResults )
226+ } )
227+
228+ it ( 'filters out untested packages when Untested option is set' , async ( ) => {
229+ const renderer = await getRenderer ( )
230+ renderer . omit . add ( OmitOption . Untested )
231+ const filtered = ( renderer as any ) . filterPackageResults ( )
232+
233+ expect ( filtered ) . toHaveLength ( 3 )
234+ filtered . forEach ( ( result : any ) => {
235+ expect ( result . hasTests ( ) ) . toBe ( true )
236+ } )
237+ } )
238+
239+ it ( 'filters out successful packages when Successful option is set' , async ( ) => {
240+ const renderer = await getRenderer ( )
241+ renderer . omit . add ( OmitOption . Successful )
242+ const filtered = ( renderer as any ) . filterPackageResults ( )
243+
244+ expect ( filtered ) . toHaveLength ( 2 )
245+ filtered . forEach ( ( result : any ) => {
246+ expect ( result . onlySuccessfulTests ( ) ) . toBe ( false )
247+ } )
248+ } )
249+
250+ it ( 'applies both filters when both options are set' , async ( ) => {
251+ const renderer = await getRenderer ( )
252+ renderer . omit . add ( OmitOption . Untested )
253+ renderer . omit . add ( OmitOption . Successful )
254+ const filtered = ( renderer as any ) . filterPackageResults ( )
255+
256+ // Only 'boom' (failed tests) and 'skipme' (skipped test) should remain
257+ expect ( filtered ) . toHaveLength ( 2 )
258+ filtered . forEach ( ( result : any ) => {
259+ expect ( result . hasTests ( ) ) . toBe ( true )
260+ expect ( result . onlySuccessfulTests ( ) ) . toBe ( false )
261+ } )
262+ } )
263+ } )
264+
219265 it ( 'does not render stderr when empty' , async ( ) => {
220266 const renderer = await getRenderer ( )
221267 renderer . stderr = ''
0 commit comments