@@ -517,6 +517,65 @@ public void makeHttpRequestsShouldPrioritizeVideoProtocolsFromImpExtEvenIfInvali
517517 .isEmpty ();
518518 }
519519
520+ @ Test
521+ public void makeHttpRequestsShouldSetImpBidFloorFromImpExtIfPresentAndImpBidFloorIsInvalid () {
522+ // given
523+ final BidRequest bidRequest = givenBidRequest (
524+ impBuilder -> impBuilder .bidfloor (BigDecimal .valueOf (-1.00 )),
525+ extBuilder -> extBuilder .bidfloor (BigDecimal .ONE ));
526+
527+ // when
528+ final Result <List <HttpRequest <BidRequest >>> result = target .makeHttpRequests (bidRequest );
529+
530+ // then
531+ assertThat (result .getErrors ()).isEmpty ();
532+ assertThat (result .getValue ()).hasSize (1 )
533+ .extracting (httpRequest -> mapper .readValue (httpRequest .getBody (), BidRequest .class ))
534+ .flatExtracting (BidRequest ::getImp )
535+ .extracting (Imp ::getBidfloor )
536+ .containsExactly (BigDecimal .ONE );
537+ }
538+
539+ @ Test
540+ public void makeHttpRequestsShouldNotSetImpBidFloorFromImpExt () {
541+ // given
542+ final BidRequest bidRequest = givenBidRequest (
543+ impBuilder -> impBuilder .bidfloor (BigDecimal .valueOf (-1.00 )),
544+ extBuilder -> extBuilder .bidfloor (BigDecimal .valueOf (-2.00 )));
545+
546+ // when
547+ final Result <List <HttpRequest <BidRequest >>> result = target .makeHttpRequests (bidRequest );
548+
549+ // then
550+ assertThat (result .getErrors ()).isEmpty ();
551+ assertThat (result .getValue ()).hasSize (1 )
552+ .extracting (httpRequest -> mapper .readValue (httpRequest .getBody (), BidRequest .class ))
553+ .flatExtracting (BidRequest ::getImp )
554+ .extracting (Imp ::getBidfloor )
555+ .containsExactly (BigDecimal .valueOf (-1.00 ));
556+ }
557+
558+ @ Test
559+ public void makeHttpRequestsShouldReturnConvertedBidFloorCurrency () {
560+ // given
561+ given (currencyConversionService .convertCurrency (any (), any (), anyString (), anyString ()))
562+ .willReturn (BigDecimal .ONE );
563+
564+ final BidRequest bidRequest = givenBidRequest (
565+ impBuilder -> impBuilder .bidfloor (BigDecimal .TEN ).bidfloorcur ("EUR" ));
566+
567+ // when
568+ final Result <List <HttpRequest <BidRequest >>> result = target .makeHttpRequests (bidRequest );
569+
570+ // then
571+ assertThat (result .getErrors ()).isEmpty ();
572+ assertThat (result .getValue ())
573+ .extracting (HttpRequest ::getPayload )
574+ .flatExtracting (BidRequest ::getImp )
575+ .extracting (Imp ::getBidfloor , Imp ::getBidfloorcur )
576+ .containsOnly (AssertionsForClassTypes .tuple (BigDecimal .ONE , "USD" ));
577+ }
578+
520579 @ Test
521580 public void makeBidsShouldReturnErrorIfResponseBodyCouldNotBeParsed () {
522581 // given
@@ -657,69 +716,9 @@ public void makeBidsShouldUpdateBidWithUUIDIfGenerateBidIdIsTrue() throws JsonPr
657716 .matches (id -> id .matches (UUID_REGEX ), "matches UUID format" );
658717 }
659718
660- @ Test
661- public void makeHttpRequestsShouldSetImpBidFloorFromImpExtIfPresentAndImpBidFloorIsInvalid () {
662- // given
663- final BidRequest bidRequest = givenBidRequest (
664- impBuilder -> impBuilder .bidfloor (BigDecimal .valueOf (-1.00 )),
665- extBuilder -> extBuilder .bidfloor (BigDecimal .ONE ));
666-
667- // when
668- final Result <List <HttpRequest <BidRequest >>> result = target .makeHttpRequests (bidRequest );
669-
670- // then
671- assertThat (result .getErrors ()).isEmpty ();
672- assertThat (result .getValue ()).hasSize (1 )
673- .extracting (httpRequest -> mapper .readValue (httpRequest .getBody (), BidRequest .class ))
674- .flatExtracting (BidRequest ::getImp )
675- .extracting (Imp ::getBidfloor )
676- .containsExactly (BigDecimal .ONE );
677- }
678-
679- @ Test
680- public void makeHttpRequestsShouldNotSetImpBidFloorFromImpExt () {
681- // given
682- final BidRequest bidRequest = givenBidRequest (
683- impBuilder -> impBuilder .bidfloor (BigDecimal .valueOf (-1.00 )),
684- extBuilder -> extBuilder .bidfloor (BigDecimal .valueOf (-2.00 )));
685-
686- // when
687- final Result <List <HttpRequest <BidRequest >>> result = target .makeHttpRequests (bidRequest );
688-
689- // then
690- assertThat (result .getErrors ()).isEmpty ();
691- assertThat (result .getValue ()).hasSize (1 )
692- .extracting (httpRequest -> mapper .readValue (httpRequest .getBody (), BidRequest .class ))
693- .flatExtracting (BidRequest ::getImp )
694- .extracting (Imp ::getBidfloor )
695- .containsExactly (BigDecimal .valueOf (-1.00 ));
696- }
697-
698- @ Test
699- public void makeHttpRequestsShouldReturnConvertedBidFloorCurrency () {
700- // given
701- given (currencyConversionService .convertCurrency (any (), any (), anyString (), anyString ()))
702- .willReturn (BigDecimal .ONE );
703-
704- final BidRequest bidRequest = givenBidRequest (
705- impBuilder -> impBuilder .bidfloor (BigDecimal .TEN ).bidfloorcur ("EUR" ));
706-
707- // when
708- final Result <List <HttpRequest <BidRequest >>> result = target .makeHttpRequests (bidRequest );
709-
710- // then
711- assertThat (result .getErrors ()).isEmpty ();
712- assertThat (result .getValue ())
713- .extracting (HttpRequest ::getPayload )
714- .flatExtracting (BidRequest ::getImp )
715- .extracting (Imp ::getBidfloor , Imp ::getBidfloorcur )
716- .containsOnly (AssertionsForClassTypes .tuple (BigDecimal .ONE , "USD" ));
717- }
718-
719719 @ Test
720720 public void makeBidsShouldReturnResultForNativeBidsWithExpectedFields () throws JsonProcessingException {
721721 // given
722-
723722 final String nativeRequestString =
724723 "{\" ver\" :\" 1.2\" ,\" assets\" :[{\" id\" :1,\" required\" :1,\" title\" :{\" len\" :80}}" ;
725724 final String nativeResponseString =
0 commit comments