@@ -411,14 +411,13 @@ describe('prebid/installPrebidNpm', () => {
411411 ] ;
412412 pbjs . requestBids ( { adUnits } as any ) ;
413413
414- // Each ad unit should have trustedServer added
414+ // Each ad unit should only have trustedServer — original bidders are absorbed
415415 for ( const unit of adUnits ) {
416- const hasTsBidder = unit . bids . some ( ( b : any ) => b . bidder === 'trustedServer' ) ;
417- expect ( hasTsBidder ) . toBe ( true ) ;
416+ expect ( unit . bids ) . toHaveLength ( 1 ) ;
417+ expect ( unit . bids [ 0 ] . bidder ) . toBe ( 'trustedServer' ) ;
418418 }
419419
420- const trustedServerBid = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) ;
421- expect ( trustedServerBid . params . bidderParams ) . toEqual ( { appnexus : { } } ) ;
420+ expect ( adUnits [ 0 ] . bids [ 0 ] . params . bidderParams ) . toEqual ( { appnexus : { } } ) ;
422421
423422 // Should call through to original requestBids
424423 expect ( mockRequestBids ) . toHaveBeenCalled ( ) ;
@@ -434,7 +433,7 @@ describe('prebid/installPrebidNpm', () => {
434433 expect ( tsCount ) . toBe ( 1 ) ;
435434 } ) ;
436435
437- it ( 'captures per-bidder params on trustedServer bid' , ( ) => {
436+ it ( 'captures per-bidder params on trustedServer bid and removes originals ' , ( ) => {
438437 const pbjs = installPrebidNpm ( ) ;
439438
440439 const adUnits = [
@@ -447,8 +446,10 @@ describe('prebid/installPrebidNpm', () => {
447446 ] ;
448447 pbjs . requestBids ( { adUnits } as any ) ;
449448
450- const trustedServerBid = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) ;
451- expect ( trustedServerBid ) . toBeDefined ( ) ;
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' ) ;
452453 expect ( trustedServerBid . params . bidderParams ) . toEqual ( {
453454 appnexus : { placementId : 123 } ,
454455 rubicon : { accountId : 'abc' } ,
@@ -482,11 +483,12 @@ describe('prebid/installPrebidNpm', () => {
482483 ] ;
483484 pbjs . requestBids ( { adUnits } as any ) ;
484485
485- const tsBid0 = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) as any ;
486- expect ( tsBid0 . params . zone ) . toBe ( 'header' ) ;
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' ) ;
487489
488- const tsBid1 = adUnits [ 1 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) as any ;
489- expect ( tsBid1 . params . zone ) . toBe ( 'fixed_bottom' ) ;
490+ expect ( adUnits [ 1 ] . bids ) . toHaveLength ( 1 ) ;
491+ expect ( adUnits [ 1 ] . bids [ 0 ] . params . zone ) . toBe ( 'fixed_bottom' ) ;
490492 } ) ;
491493
492494 it ( 'omits zone when mediaTypes.banner.name is not set' , ( ) => {
@@ -501,8 +503,8 @@ describe('prebid/installPrebidNpm', () => {
501503 ] ;
502504 pbjs . requestBids ( { adUnits } as any ) ;
503505
504- const tsBid = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) as any ;
505- expect ( tsBid . params . zone ) . toBeUndefined ( ) ;
506+ expect ( adUnits [ 0 ] . bids ) . toHaveLength ( 1 ) ;
507+ expect ( adUnits [ 0 ] . bids [ 0 ] . params . zone ) . toBeUndefined ( ) ;
506508 } ) ;
507509
508510 it ( 'omits zone when ad unit has no mediaTypes' , ( ) => {
@@ -511,8 +513,8 @@ describe('prebid/installPrebidNpm', () => {
511513 const adUnits = [ { bids : [ { bidder : 'rubicon' , params : { } } ] } ] ;
512514 pbjs . requestBids ( { adUnits } as any ) ;
513515
514- const tsBid = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) as any ;
515- expect ( tsBid . params . zone ) . toBeUndefined ( ) ;
516+ expect ( adUnits [ 0 ] . bids ) . toHaveLength ( 1 ) ;
517+ expect ( adUnits [ 0 ] . bids [ 0 ] . params . zone ) . toBeUndefined ( ) ;
516518 } ) ;
517519
518520 it ( 'clears stale zone when existing trustedServer bid is reused' , ( ) => {
@@ -549,10 +551,10 @@ describe('prebid/installPrebidNpm', () => {
549551 mockPbjs . adUnits = [ { bids : [ { bidder : 'openx' , params : { } } ] } ] as any [ ] ;
550552 pbjs . requestBids ( { } as any ) ;
551553
552- const hasTsBidder = ( mockPbjs . adUnits [ 0 ] as any ) . bids . some (
553- ( b : any ) => b . bidder === 'trustedServer'
554- ) ;
555- expect ( hasTsBidder ) . toBe ( true ) ;
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' ) ;
556558 } ) ;
557559 } ) ;
558560} ) ;
@@ -611,7 +613,7 @@ describe('prebid/client-side bidders', () => {
611613 delete ( window as any ) . __tsjs_prebid ;
612614 } ) ;
613615
614- it ( 'excludes client-side bidders from trustedServer bidderParams' , ( ) => {
616+ it ( 'excludes client-side bidders from trustedServer bidderParams and removes server-side bids ' , ( ) => {
615617 ( window as any ) . __tsjs_prebid = { clientSideBidders : [ 'rubicon' ] } ;
616618
617619 const pbjs = installPrebidNpm ( ) ;
@@ -627,13 +629,18 @@ describe('prebid/client-side bidders', () => {
627629 ] ;
628630 pbjs . requestBids ( { adUnits } as any ) ;
629631
632+ // Only rubicon (client-side) and trustedServer should remain
633+ expect ( adUnits [ 0 ] . bids ) . toHaveLength ( 2 ) ;
630634 const tsBid = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) as any ;
631635 expect ( tsBid ) . toBeDefined ( ) ;
632636 // rubicon should NOT be in bidderParams — it runs client-side
633637 expect ( tsBid . params . bidderParams ) . toEqual ( {
634638 appnexus : { placementId : 123 } ,
635639 kargo : { placementId : 'k1' } ,
636640 } ) ;
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 ( ) ;
637644 } ) ;
638645
639646 it ( 'preserves client-side bidder bids as standalone entries' , ( ) => {
@@ -673,6 +680,8 @@ describe('prebid/client-side bidders', () => {
673680 ] ;
674681 pbjs . requestBids ( { adUnits } as any ) ;
675682
683+ // 3 bids: rubicon (client-side), openx (client-side), trustedServer
684+ expect ( adUnits [ 0 ] . bids ) . toHaveLength ( 3 ) ;
676685 const tsBid = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) as any ;
677686 // Only appnexus should be in bidderParams
678687 expect ( tsBid . params . bidderParams ) . toEqual ( {
@@ -682,6 +691,9 @@ describe('prebid/client-side bidders', () => {
682691 // Both client-side bidders should remain
683692 expect ( adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'rubicon' ) ) . toBeDefined ( ) ;
684693 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 ( ) ;
685697 } ) ;
686698
687699 it ( 'behaves normally when no client-side bidders are configured' , ( ) => {
@@ -698,7 +710,10 @@ describe('prebid/client-side bidders', () => {
698710 ] ;
699711 pbjs . requestBids ( { adUnits } as any ) ;
700712
701- const tsBid = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) as any ;
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' ) ;
702717 expect ( tsBid . params . bidderParams ) . toEqual ( {
703718 appnexus : { placementId : 123 } ,
704719 rubicon : { accountId : 'abc' } ,
@@ -720,7 +735,10 @@ describe('prebid/client-side bidders', () => {
720735 ] ;
721736 pbjs . requestBids ( { adUnits } as any ) ;
722737
723- const tsBid = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) as any ;
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' ) ;
724742 expect ( tsBid . params . bidderParams ) . toEqual ( {
725743 appnexus : { placementId : 123 } ,
726744 rubicon : { accountId : 'abc' } ,
@@ -742,7 +760,8 @@ describe('prebid/client-side bidders', () => {
742760 ] ;
743761 pbjs . requestBids ( { adUnits } as any ) ;
744762
745- // trustedServer should still be present (even with empty bidderParams)
763+ // All 3 should be present: rubicon, appnexus (both client-side), and trustedServer
764+ expect ( adUnits [ 0 ] . bids ) . toHaveLength ( 3 ) ;
746765 const tsBid = adUnits [ 0 ] . bids . find ( ( b : any ) => b . bidder === 'trustedServer' ) as any ;
747766 expect ( tsBid ) . toBeDefined ( ) ;
748767 expect ( tsBid . params . bidderParams ) . toEqual ( { } ) ;
0 commit comments