@@ -411,13 +411,14 @@ describe('prebid/installPrebidNpm', () => {
411411 ] ;
412412 pbjs . requestBids ( { adUnits } as any ) ;
413413
414- // Each ad unit should only have trustedServer — original bidders are absorbed
414+ // Each ad unit should have trustedServer added
415415 for ( const unit of adUnits ) {
416- expect ( unit . bids ) . toHaveLength ( 1 ) ;
417- expect ( unit . bids [ 0 ] . bidder ) . toBe ( 'trustedServer' ) ;
416+ const hasTsBidder = unit . bids . some ( ( b : any ) => b . bidder === 'trustedServer' ) ;
417+ expect ( hasTsBidder ) . toBe ( true ) ;
418418 }
419419
420- expect ( adUnits [ 0 ] . bids [ 0 ] . params . bidderParams ) . toEqual ( { appnexus : { } } ) ;
420+ const trustedServerBid = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) ;
421+ expect ( trustedServerBid . params . bidderParams ) . toEqual ( { appnexus : { } } ) ;
421422
422423 // Should call through to original requestBids
423424 expect ( mockRequestBids ) . toHaveBeenCalled ( ) ;
@@ -433,7 +434,7 @@ describe('prebid/installPrebidNpm', () => {
433434 expect ( tsCount ) . toBe ( 1 ) ;
434435 } ) ;
435436
436- it ( 'captures per-bidder params on trustedServer bid and removes originals ' , ( ) => {
437+ it ( 'captures per-bidder params on trustedServer bid' , ( ) => {
437438 const pbjs = installPrebidNpm ( ) ;
438439
439440 const adUnits = [
@@ -446,10 +447,8 @@ describe('prebid/installPrebidNpm', () => {
446447 ] ;
447448 pbjs . requestBids ( { adUnits } as any ) ;
448449
449- // Only trustedServer should remain — original bidders are absorbed
450- expect ( adUnits [ 0 ] . bids ) . toHaveLength ( 1 ) ;
451- const trustedServerBid = adUnits [ 0 ] . bids [ 0 ] as any ;
452- expect ( trustedServerBid . bidder ) . toBe ( 'trustedServer' ) ;
450+ const trustedServerBid = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) ;
451+ expect ( trustedServerBid ) . toBeDefined ( ) ;
453452 expect ( trustedServerBid . params . bidderParams ) . toEqual ( {
454453 appnexus : { placementId : 123 } ,
455454 rubicon : { accountId : 'abc' } ,
@@ -483,12 +482,11 @@ describe('prebid/installPrebidNpm', () => {
483482 ] ;
484483 pbjs . requestBids ( { adUnits } as any ) ;
485484
486- // Original kargo bids should be removed, only trustedServer remains
487- expect ( adUnits [ 0 ] . bids ) . toHaveLength ( 1 ) ;
488- expect ( adUnits [ 0 ] . bids [ 0 ] . params . zone ) . toBe ( 'header' ) ;
485+ const tsBid0 = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) as any ;
486+ expect ( tsBid0 . params . zone ) . toBe ( 'header' ) ;
489487
490- expect ( adUnits [ 1 ] . bids ) . toHaveLength ( 1 ) ;
491- expect ( adUnits [ 1 ] . bids [ 0 ] . params . zone ) . toBe ( 'fixed_bottom' ) ;
488+ const tsBid1 = adUnits [ 1 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) as any ;
489+ expect ( tsBid1 . params . zone ) . toBe ( 'fixed_bottom' ) ;
492490 } ) ;
493491
494492 it ( 'omits zone when mediaTypes.banner.name is not set' , ( ) => {
@@ -503,8 +501,8 @@ describe('prebid/installPrebidNpm', () => {
503501 ] ;
504502 pbjs . requestBids ( { adUnits } as any ) ;
505503
506- expect ( adUnits [ 0 ] . bids ) . toHaveLength ( 1 ) ;
507- expect ( adUnits [ 0 ] . bids [ 0 ] . params . zone ) . toBeUndefined ( ) ;
504+ const tsBid = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) as any ;
505+ expect ( tsBid . params . zone ) . toBeUndefined ( ) ;
508506 } ) ;
509507
510508 it ( 'omits zone when ad unit has no mediaTypes' , ( ) => {
@@ -513,8 +511,8 @@ describe('prebid/installPrebidNpm', () => {
513511 const adUnits = [ { bids : [ { bidder : 'rubicon' , params : { } } ] } ] ;
514512 pbjs . requestBids ( { adUnits } as any ) ;
515513
516- expect ( adUnits [ 0 ] . bids ) . toHaveLength ( 1 ) ;
517- expect ( adUnits [ 0 ] . bids [ 0 ] . params . zone ) . toBeUndefined ( ) ;
514+ const tsBid = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) as any ;
515+ expect ( tsBid . params . zone ) . toBeUndefined ( ) ;
518516 } ) ;
519517
520518 it ( 'clears stale zone when existing trustedServer bid is reused' , ( ) => {
@@ -551,10 +549,10 @@ describe('prebid/installPrebidNpm', () => {
551549 mockPbjs . adUnits = [ { bids : [ { bidder : 'openx' , params : { } } ] } ] as any [ ] ;
552550 pbjs . requestBids ( { } as any ) ;
553551
554- // Original openx bid should be removed, only trustedServer remains
555- const unit = mockPbjs . adUnits [ 0 ] as any ;
556- expect ( unit . bids ) . toHaveLength ( 1 ) ;
557- expect ( unit . bids [ 0 ] . bidder ) . toBe ( 'trustedServer' ) ;
552+ const hasTsBidder = ( mockPbjs . adUnits [ 0 ] as any ) . bids . some (
553+ ( b : any ) => b . bidder === 'trustedServer'
554+ ) ;
555+ expect ( hasTsBidder ) . toBe ( true ) ;
558556 } ) ;
559557 } ) ;
560558} ) ;
@@ -613,7 +611,7 @@ describe('prebid/client-side bidders', () => {
613611 delete ( window as any ) . __tsjs_prebid ;
614612 } ) ;
615613
616- it ( 'excludes client-side bidders from trustedServer bidderParams and removes server-side bids ' , ( ) => {
614+ it ( 'excludes client-side bidders from trustedServer bidderParams' , ( ) => {
617615 ( window as any ) . __tsjs_prebid = { clientSideBidders : [ 'rubicon' ] } ;
618616
619617 const pbjs = installPrebidNpm ( ) ;
@@ -629,18 +627,13 @@ describe('prebid/client-side bidders', () => {
629627 ] ;
630628 pbjs . requestBids ( { adUnits } as any ) ;
631629
632- // Only rubicon (client-side) and trustedServer should remain
633- expect ( adUnits [ 0 ] . bids ) . toHaveLength ( 2 ) ;
634630 const tsBid = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) as any ;
635631 expect ( tsBid ) . toBeDefined ( ) ;
636632 // rubicon should NOT be in bidderParams — it runs client-side
637633 expect ( tsBid . params . bidderParams ) . toEqual ( {
638634 appnexus : { placementId : 123 } ,
639635 kargo : { placementId : 'k1' } ,
640636 } ) ;
641- // appnexus and kargo should be removed (absorbed into trustedServer)
642- expect ( adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'appnexus' ) ) . toBeUndefined ( ) ;
643- expect ( adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'kargo' ) ) . toBeUndefined ( ) ;
644637 } ) ;
645638
646639 it ( 'preserves client-side bidder bids as standalone entries' , ( ) => {
@@ -680,8 +673,6 @@ describe('prebid/client-side bidders', () => {
680673 ] ;
681674 pbjs . requestBids ( { adUnits } as any ) ;
682675
683- // 3 bids: rubicon (client-side), openx (client-side), trustedServer
684- expect ( adUnits [ 0 ] . bids ) . toHaveLength ( 3 ) ;
685676 const tsBid = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) as any ;
686677 // Only appnexus should be in bidderParams
687678 expect ( tsBid . params . bidderParams ) . toEqual ( {
@@ -691,9 +682,6 @@ describe('prebid/client-side bidders', () => {
691682 // Both client-side bidders should remain
692683 expect ( adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'rubicon' ) ) . toBeDefined ( ) ;
693684 expect ( adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'openx' ) ) . toBeDefined ( ) ;
694-
695- // Server-side bidder should be removed
696- expect ( adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'appnexus' ) ) . toBeUndefined ( ) ;
697685 } ) ;
698686
699687 it ( 'behaves normally when no client-side bidders are configured' , ( ) => {
@@ -710,10 +698,7 @@ describe('prebid/client-side bidders', () => {
710698 ] ;
711699 pbjs . requestBids ( { adUnits } as any ) ;
712700
713- // All original bidders should be removed, only trustedServer remains
714- expect ( adUnits [ 0 ] . bids ) . toHaveLength ( 1 ) ;
715- const tsBid = adUnits [ 0 ] . bids [ 0 ] as any ;
716- expect ( tsBid . bidder ) . toBe ( 'trustedServer' ) ;
701+ const tsBid = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) as any ;
717702 expect ( tsBid . params . bidderParams ) . toEqual ( {
718703 appnexus : { placementId : 123 } ,
719704 rubicon : { accountId : 'abc' } ,
@@ -735,10 +720,7 @@ describe('prebid/client-side bidders', () => {
735720 ] ;
736721 pbjs . requestBids ( { adUnits } as any ) ;
737722
738- // All original bidders should be removed, only trustedServer remains
739- expect ( adUnits [ 0 ] . bids ) . toHaveLength ( 1 ) ;
740- const tsBid = adUnits [ 0 ] . bids [ 0 ] as any ;
741- expect ( tsBid . bidder ) . toBe ( 'trustedServer' ) ;
723+ const tsBid = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) as any ;
742724 expect ( tsBid . params . bidderParams ) . toEqual ( {
743725 appnexus : { placementId : 123 } ,
744726 rubicon : { accountId : 'abc' } ,
@@ -760,8 +742,7 @@ describe('prebid/client-side bidders', () => {
760742 ] ;
761743 pbjs . requestBids ( { adUnits } as any ) ;
762744
763- // All 3 should be present: rubicon, appnexus (both client-side), and trustedServer
764- expect ( adUnits [ 0 ] . bids ) . toHaveLength ( 3 ) ;
745+ // trustedServer should still be present (even with empty bidderParams)
765746 const tsBid = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) as any ;
766747 expect ( tsBid ) . toBeDefined ( ) ;
767748 expect ( tsBid . params . bidderParams ) . toEqual ( { } ) ;
0 commit comments